From 0942fe324b7bdea3a0b7ea0ad4a8b2a6892fddb6 Mon Sep 17 00:00:00 2001 From: Suguru Shirai Date: Sat, 9 Sep 2017 12:08:27 +0900 Subject: [PATCH 01/17] Delete appengine sample --- appengine/flexible/analytics/README.md | 42 - appengine/flexible/analytics/app.php | 55 - appengine/flexible/analytics/app.yaml | 10 - appengine/flexible/analytics/composer.json | 12 - appengine/flexible/analytics/composer.lock | 2246 ------------- appengine/flexible/analytics/index.html.twig | 10 - appengine/flexible/analytics/index.php | 28 - appengine/flexible/analytics/nginx-app.conf | 6 - appengine/flexible/analytics/phpunit.xml.dist | 34 - .../flexible/analytics/test/DeployTest.php | 34 - .../flexible/analytics/test/LocalTest.php | 45 - appengine/flexible/cloudsql-mysql/README.md | 89 - appengine/flexible/cloudsql-mysql/app.php | 76 - appengine/flexible/cloudsql-mysql/app.yaml | 20 - .../flexible/cloudsql-mysql/composer.json | 11 - .../flexible/cloudsql-mysql/composer.lock | 2582 --------------- appengine/flexible/cloudsql-mysql/index.php | 27 - .../flexible/cloudsql-mysql/phpunit.xml.dist | 31 - .../cloudsql-mysql/test/DeployTest.php | 60 - .../cloudsql-mysql/test/LocalTest.php | 49 - .../cloudsql-mysql/test/bootstrap.php | 18 - .../flexible/cloudsql-postgres/README.md | 89 - appengine/flexible/cloudsql-postgres/app.php | 76 - appengine/flexible/cloudsql-postgres/app.yaml | 20 - .../flexible/cloudsql-postgres/composer.json | 11 - .../flexible/cloudsql-postgres/composer.lock | 2582 --------------- .../flexible/cloudsql-postgres/index.php | 27 - .../cloudsql-postgres/phpunit.xml.dist | 31 - .../cloudsql-postgres/test/DeployTest.php | 60 - .../cloudsql-postgres/test/LocalTest.php | 49 - .../cloudsql-postgres/test/bootstrap.php | 18 - appengine/flexible/datastore/README.md | 46 - appengine/flexible/datastore/app.php | 94 - appengine/flexible/datastore/app.yaml | 5 - appengine/flexible/datastore/composer.json | 10 - appengine/flexible/datastore/composer.lock | 2474 -------------- appengine/flexible/datastore/index.php | 28 - appengine/flexible/datastore/phpunit.xml.dist | 31 - .../flexible/datastore/test/DeployTest.php | 34 - .../flexible/datastore/test/LocalTest.php | 48 - appengine/flexible/drupal8/README.md | 95 - appengine/flexible/drupal8/app.yaml | 5 - appengine/flexible/drupal8/composer.json | 13 - appengine/flexible/drupal8/composer.lock | 2745 ---------------- appengine/flexible/drupal8/phpunit.xml.dist | 23 - .../flexible/drupal8/test/DeployTest.php | 120 - appengine/flexible/drupal8/test/bootstrap.php | 19 - appengine/flexible/endpoints/README.md | 8 - appengine/flexible/laravel/README.md | 7 - .../flexible/laravel/app-dbsessions.yaml | 29 - appengine/flexible/laravel/app.yaml | 15 - appengine/flexible/laravel/composer.json | 9 - appengine/flexible/laravel/composer.lock | 2003 ------------ appengine/flexible/laravel/phpunit.xml.dist | 23 - .../test/DeployDatabaseSessionTest.php | 115 - .../flexible/laravel/test/DeployTest.php | 89 - appengine/flexible/laravel/test/bootstrap.php | 19 - appengine/flexible/logging/README.md | 46 - appengine/flexible/logging/app.php | 70 - appengine/flexible/logging/app.yaml | 5 - appengine/flexible/logging/composer.json | 11 - appengine/flexible/logging/composer.lock | 2759 ---------------- appengine/flexible/logging/index.html.twig | 17 - appengine/flexible/logging/index.php | 23 - appengine/flexible/logging/phpunit.xml.dist | 31 - .../flexible/logging/test/DeployTest.php | 34 - appengine/flexible/logging/test/LocalTest.php | 47 - appengine/flexible/mailgun/README.md | 48 - appengine/flexible/mailgun/app.php | 100 - appengine/flexible/mailgun/app.yaml | 5 - appengine/flexible/mailgun/attachment.txt | 1 - appengine/flexible/mailgun/composer.json | 13 - appengine/flexible/mailgun/composer.lock | 2873 ----------------- appengine/flexible/mailgun/index.php | 31 - appengine/flexible/mailgun/phpunit.xml.dist | 31 - .../flexible/mailgun/test/DeployTest.php | 74 - appengine/flexible/mailgun/test/bootstrap.php | 18 - appengine/flexible/mailjet/README.md | 51 - appengine/flexible/mailjet/app.php | 86 - appengine/flexible/mailjet/app.yaml | 5 - appengine/flexible/mailjet/composer.json | 12 - appengine/flexible/mailjet/composer.lock | 2425 -------------- appengine/flexible/mailjet/index.php | 31 - appengine/flexible/mailjet/phpunit.xml.dist | 31 - .../flexible/mailjet/test/DeployTest.php | 65 - appengine/flexible/mailjet/test/bootstrap.php | 18 - appengine/flexible/memcache/README.md | 41 - appengine/flexible/memcache/app.php | 126 - appengine/flexible/memcache/app.yaml | 17 - appengine/flexible/memcache/composer.json | 14 - appengine/flexible/memcache/composer.lock | 2407 -------------- .../flexible/memcache/memcache.html.twig | 33 - appengine/flexible/memcache/nginx-app.conf | 4 - appengine/flexible/memcache/php.ini | 3 - appengine/flexible/memcache/phpunit.xml.dist | 31 - .../flexible/memcache/test/DeployTest.php | 95 - .../flexible/memcache/test/LocalTest.php | 84 - .../flexible/memcache/test/bootstrap.php | 18 - appengine/flexible/memcache/web/index.php | 27 - appengine/flexible/metadata/README.md | 45 - appengine/flexible/metadata/app.php | 61 - appengine/flexible/metadata/app.yaml | 5 - appengine/flexible/metadata/composer.json | 10 - appengine/flexible/metadata/composer.lock | 2633 --------------- appengine/flexible/metadata/index.php | 27 - appengine/flexible/metadata/phpunit.xml.dist | 31 - .../flexible/metadata/test/DeployTest.php | 46 - appengine/flexible/pubsub/README.md | 7 - appengine/flexible/sendgrid/README.md | 43 - appengine/flexible/sendgrid/app.php | 59 - appengine/flexible/sendgrid/app.yaml | 11 - appengine/flexible/sendgrid/composer.json | 12 - appengine/flexible/sendgrid/composer.lock | 2474 -------------- appengine/flexible/sendgrid/index.php | 30 - appengine/flexible/sendgrid/phpunit.xml.dist | 31 - .../flexible/sendgrid/test/DeployTest.php | 60 - .../flexible/sendgrid/test/LocalTest.php | 60 - .../flexible/sendgrid/test/bootstrap.php | 18 - appengine/flexible/staticcontent/README.md | 26 - appengine/flexible/staticcontent/app.php | 34 - appengine/flexible/staticcontent/app.yaml | 5 - .../flexible/staticcontent/composer.json | 11 - .../flexible/staticcontent/composer.lock | 2193 ------------- .../flexible/staticcontent/index.html.twig | 14 - .../flexible/staticcontent/phpunit.xml.dist | 23 - .../staticcontent/test/DeployTest.php | 37 - .../flexible/staticcontent/web/index.php | 27 - .../flexible/staticcontent/web/static.html | 10 - .../flexible/staticcontent/web/trees.jpg | Bin 28727 -> 0 bytes appengine/flexible/storage/README.md | 67 - appengine/flexible/storage/app.php | 83 - appengine/flexible/storage/app.yaml | 11 - appengine/flexible/storage/composer.json | 10 - appengine/flexible/storage/composer.lock | 2671 --------------- appengine/flexible/storage/index.php | 38 - appengine/flexible/storage/phpunit.xml | 31 - .../flexible/storage/test/DeployTest.php | 32 - appengine/flexible/storage/test/LocalTest.php | 78 - appengine/flexible/symfony/.gitignore | 1 - appengine/flexible/symfony/README.md | 56 - appengine/flexible/symfony/app.yaml | 8 - appengine/flexible/symfony/composer.json | 11 - appengine/flexible/symfony/composer.lock | 2061 ------------ appengine/flexible/symfony/nginx-app.conf | 4 - appengine/flexible/symfony/phpunit.xml.dist | 23 - .../flexible/symfony/test/DeployTest.php | 121 - appengine/flexible/symfony/test/bootstrap.php | 19 - appengine/flexible/twilio/README.md | 57 - appengine/flexible/twilio/app.php | 75 - appengine/flexible/twilio/app.yaml | 12 - appengine/flexible/twilio/composer.json | 11 - appengine/flexible/twilio/composer.lock | 2426 -------------- appengine/flexible/twilio/index.php | 31 - appengine/flexible/twilio/phpunit.xml.dist | 31 - appengine/flexible/twilio/test/DeployTest.php | 77 - appengine/flexible/twilio/test/LocalTest.php | 86 - appengine/flexible/twilio/test/bootstrap.php | 18 - appengine/standard/cloudsql/README.md | 71 - appengine/standard/cloudsql/app.php | 96 - appengine/standard/cloudsql/app.yaml | 16 - .../standard/cloudsql/cloudsql.html.twig | 18 - appengine/standard/cloudsql/composer.json | 11 - appengine/standard/cloudsql/composer.lock | 1947 ----------- appengine/standard/cloudsql/index.php | 28 - appengine/standard/cloudsql/phpunit.xml.dist | 31 - .../standard/cloudsql/test/LocalTest.php | 79 - appengine/standard/http/README.md | 45 - appengine/standard/http/app.php | 121 - appengine/standard/http/app.yaml | 21 - appengine/standard/http/composer.json | 12 - appengine/standard/http/composer.lock | 2175 ------------- appengine/standard/http/http.html.twig | 46 - appengine/standard/http/index.php | 27 - appengine/standard/http/php.ini | 11 - appengine/standard/http/phpunit.xml.dist | 31 - appengine/standard/http/test/LocalTest.php | 99 - appengine/standard/logging/README.md | 3 - appengine/standard/logging/app.yaml | 11 - appengine/standard/logging/composer.json | 8 - appengine/standard/logging/composer.lock | 1176 ------- appengine/standard/logging/index.php | 63 - appengine/standard/logging/phpunit.xml.dist | 33 - appengine/standard/logging/syslog.php | 27 - appengine/standard/logging/test/LocalTest.php | 108 - appengine/standard/logging/test/bootstrap.php | 21 - .../logging/test/mocks/AppLogLine.php | 29 - .../standard/logging/test/mocks/Functions.php | 30 - .../logging/test/mocks/LogService.php | 30 - .../logging/test/mocks/RequestLog.php | 45 - appengine/standard/logging/timeout.php | 37 - appengine/standard/mail/README.md | 3 - appengine/standard/mail/app.yaml | 38 - appengine/standard/mail/composer.json | 5 - appengine/standard/mail/composer.lock | 1134 ------- .../standard/mail/handle_bounced_email.php | 22 - .../standard/mail/handle_incoming_email.php | 22 - appengine/standard/mail/image.jpg | Bin 60234 -> 0 bytes appengine/standard/mail/index.php | 40 - appengine/standard/mail/phpunit.xml.dist | 33 - appengine/standard/mail/test/LocalTest.php | 52 - appengine/standard/mail/test/bootstrap.php | 18 - .../standard/mail/test/mocks/Message.php | 62 - appengine/standard/mailgun/README.md | 48 - appengine/standard/mailgun/app.php | 108 - appengine/standard/mailgun/app.yaml | 7 - appengine/standard/mailgun/attachment.txt | 1 - appengine/standard/mailgun/composer.json | 13 - appengine/standard/mailgun/composer.lock | 2873 ----------------- appengine/standard/mailgun/index.php | 31 - appengine/standard/mailgun/phpunit.xml.dist | 31 - appengine/standard/mailgun/test/LocalTest.php | 87 - appengine/standard/mailgun/test/bootstrap.php | 18 - appengine/standard/mailjet/README.md | 49 - appengine/standard/mailjet/app.php | 86 - appengine/standard/mailjet/app.yaml | 7 - appengine/standard/mailjet/composer.json | 12 - appengine/standard/mailjet/composer.lock | 2425 -------------- appengine/standard/mailjet/index.php | 31 - appengine/standard/mailjet/phpunit.xml.dist | 31 - appengine/standard/mailjet/test/LocalTest.php | 69 - appengine/standard/mailjet/test/bootstrap.php | 18 - appengine/standard/memcache/README.md | 37 - appengine/standard/memcache/app.php | 83 - appengine/standard/memcache/app.yaml | 7 - appengine/standard/memcache/composer.json | 11 - appengine/standard/memcache/composer.lock | 2193 ------------- appengine/standard/memcache/index.php | 27 - .../standard/memcache/memcache.html.twig | 30 - appengine/standard/memcache/phpunit.xml.dist | 23 - .../standard/memcache/test/DeployTest.php | 76 - appengine/standard/modules/README.md | 30 - appengine/standard/modules/app.php | 44 - appengine/standard/modules/app.yaml | 7 - appengine/standard/modules/backend.php | 22 - appengine/standard/modules/backend.yaml | 8 - appengine/standard/modules/composer.json | 13 - appengine/standard/modules/composer.lock | 2131 ------------ appengine/standard/modules/index.php | 28 - appengine/standard/modules/phpunit.xml.dist | 34 - appengine/standard/modules/test/bootstrap.php | 21 - .../standard/modules/test/e2e/DeployTest.php | 25 - .../standard/modules/test/e2e/LocalTest.php | 25 - .../modules/test/e2e/ModulesTestTrait.php | 50 - .../modules/test/unit/ModulesApiTest.php | 61 - .../modules/test/unit/mocks/Functions.php | 26 - .../test/unit/mocks/ModulesService.php | 43 - appengine/standard/phpmyadmin/README.md | 5 - appengine/standard/phpmyadmin/app-e2e.yaml | 21 - appengine/standard/phpmyadmin/app.yaml | 23 - appengine/standard/phpmyadmin/composer.json | 11 - appengine/standard/phpmyadmin/composer.lock | 1596 --------- appengine/standard/phpmyadmin/config.inc.php | 65 - appengine/standard/phpmyadmin/php.ini | 1 - .../standard/phpmyadmin/phpunit.xml.dist | 23 - .../standard/phpmyadmin/test/DeployTest.php | 194 -- appengine/standard/storage/README.md | 61 - appengine/standard/storage/app.php | 271 -- appengine/standard/storage/app.yaml | 7 - appengine/standard/storage/composer.json | 11 - appengine/standard/storage/composer.lock | 1947 ----------- appengine/standard/storage/file.txt | 2 - appengine/standard/storage/image.jpg | Bin 28071 -> 0 bytes appengine/standard/storage/index.php | 30 - appengine/standard/storage/phpunit.xml.dist | 31 - appengine/standard/storage/storage.html.twig | 183 -- appengine/standard/storage/test/LocalTest.php | 242 -- appengine/standard/storage/test/bootstrap.php | 19 - .../test/mocks/CloudStorageStreamWrapper.php | 86 - .../storage/test/mocks/CloudStorageTools.php | 65 - appengine/standard/taskqueue/README.md | 30 - appengine/standard/taskqueue/app.php | 66 - appengine/standard/taskqueue/app.yaml | 12 - appengine/standard/taskqueue/composer.json | 14 - appengine/standard/taskqueue/composer.lock | 2081 ------------ appengine/standard/taskqueue/index.php | 28 - appengine/standard/taskqueue/phpunit.xml.dist | 31 - .../standard/taskqueue/test/bootstrap.php | 20 - .../taskqueue/test/unit/TaskQueueTest.php | 75 - .../taskqueue/test/unit/mocks/PushQueue.php | 35 - .../taskqueue/test/unit/mocks/PushTask.php | 48 - appengine/standard/twilio/README.md | 54 - appengine/standard/twilio/app.php | 52 - appengine/standard/twilio/app.yaml | 7 - appengine/standard/twilio/composer.json | 11 - appengine/standard/twilio/composer.lock | 2222 ------------- appengine/standard/twilio/index.php | 33 - appengine/standard/twilio/phpunit.xml.dist | 31 - appengine/standard/twilio/test/LocalTest.php | 74 - appengine/standard/users/README.md | 29 - appengine/standard/users/app.php | 69 - appengine/standard/users/app.yaml | 7 - appengine/standard/users/composer.json | 10 - appengine/standard/users/composer.lock | 2131 ------------ appengine/standard/users/index.php | 27 - appengine/standard/users/phpunit.xml.dist | 31 - appengine/standard/users/test/bootstrap.php | 21 - .../standard/users/test/e2e/DeployTest.php | 25 - .../standard/users/test/e2e/LocalTest.php | 25 - .../standard/users/test/unit/UsersApiTest.php | 118 - .../standard/users/test/unit/mocks/User.php | 59 - .../users/test/unit/mocks/UserService.php | 51 - .../users/testing/E2EUsersTestTrait.php | 56 - appengine/wordpress/.gitignore | 1 - appengine/wordpress/README.md | 240 -- appengine/wordpress/composer.json | 18 - appengine/wordpress/composer.lock | 1815 ----------- appengine/wordpress/phpunit.xml.dist | 23 - appengine/wordpress/src/Project.php | 101 - appengine/wordpress/src/ReportInterface.php | 24 - appengine/wordpress/src/ReportTrait.php | 37 - appengine/wordpress/src/Utils.php | 36 - appengine/wordpress/src/WordPressSetup.php | 408 --- .../wordpress/src/files/flexible/app.yaml | 11 - .../src/files/flexible/composer.json | 8 - .../wordpress/src/files/flexible/cron.yaml | 4 - .../src/files/flexible/nginx-app.conf | 7 - .../wordpress/src/files/flexible/php.ini | 3 - .../src/files/flexible/wp-config.php | 124 - .../wordpress/src/files/standard/app.yaml | 55 - .../src/files/standard/composer.json | 5 - .../wordpress/src/files/standard/cron.yaml | 4 - .../wordpress/src/files/standard/php.ini | 6 - .../src/files/standard/wp-config.php | 127 - appengine/wordpress/test/DeployFlexTest.php | 131 - .../wordpress/test/DeployStandardTest.php | 131 - appengine/wordpress/wordpress-helper.php | 13 - 326 files changed, 79352 deletions(-) delete mode 100644 appengine/flexible/analytics/README.md delete mode 100644 appengine/flexible/analytics/app.php delete mode 100644 appengine/flexible/analytics/app.yaml delete mode 100644 appengine/flexible/analytics/composer.json delete mode 100644 appengine/flexible/analytics/composer.lock delete mode 100644 appengine/flexible/analytics/index.html.twig delete mode 100644 appengine/flexible/analytics/index.php delete mode 100644 appengine/flexible/analytics/nginx-app.conf delete mode 100644 appengine/flexible/analytics/phpunit.xml.dist delete mode 100644 appengine/flexible/analytics/test/DeployTest.php delete mode 100644 appengine/flexible/analytics/test/LocalTest.php delete mode 100644 appengine/flexible/cloudsql-mysql/README.md delete mode 100644 appengine/flexible/cloudsql-mysql/app.php delete mode 100644 appengine/flexible/cloudsql-mysql/app.yaml delete mode 100644 appengine/flexible/cloudsql-mysql/composer.json delete mode 100644 appengine/flexible/cloudsql-mysql/composer.lock delete mode 100644 appengine/flexible/cloudsql-mysql/index.php delete mode 100644 appengine/flexible/cloudsql-mysql/phpunit.xml.dist delete mode 100644 appengine/flexible/cloudsql-mysql/test/DeployTest.php delete mode 100644 appengine/flexible/cloudsql-mysql/test/LocalTest.php delete mode 100644 appengine/flexible/cloudsql-mysql/test/bootstrap.php delete mode 100644 appengine/flexible/cloudsql-postgres/README.md delete mode 100644 appengine/flexible/cloudsql-postgres/app.php delete mode 100644 appengine/flexible/cloudsql-postgres/app.yaml delete mode 100644 appengine/flexible/cloudsql-postgres/composer.json delete mode 100644 appengine/flexible/cloudsql-postgres/composer.lock delete mode 100644 appengine/flexible/cloudsql-postgres/index.php delete mode 100644 appengine/flexible/cloudsql-postgres/phpunit.xml.dist delete mode 100644 appengine/flexible/cloudsql-postgres/test/DeployTest.php delete mode 100644 appengine/flexible/cloudsql-postgres/test/LocalTest.php delete mode 100644 appengine/flexible/cloudsql-postgres/test/bootstrap.php delete mode 100644 appengine/flexible/datastore/README.md delete mode 100644 appengine/flexible/datastore/app.php delete mode 100644 appengine/flexible/datastore/app.yaml delete mode 100644 appengine/flexible/datastore/composer.json delete mode 100644 appengine/flexible/datastore/composer.lock delete mode 100644 appengine/flexible/datastore/index.php delete mode 100644 appengine/flexible/datastore/phpunit.xml.dist delete mode 100644 appengine/flexible/datastore/test/DeployTest.php delete mode 100644 appengine/flexible/datastore/test/LocalTest.php delete mode 100644 appengine/flexible/drupal8/README.md delete mode 100644 appengine/flexible/drupal8/app.yaml delete mode 100644 appengine/flexible/drupal8/composer.json delete mode 100644 appengine/flexible/drupal8/composer.lock delete mode 100644 appengine/flexible/drupal8/phpunit.xml.dist delete mode 100644 appengine/flexible/drupal8/test/DeployTest.php delete mode 100644 appengine/flexible/drupal8/test/bootstrap.php delete mode 100644 appengine/flexible/endpoints/README.md delete mode 100644 appengine/flexible/laravel/README.md delete mode 100644 appengine/flexible/laravel/app-dbsessions.yaml delete mode 100644 appengine/flexible/laravel/app.yaml delete mode 100644 appengine/flexible/laravel/composer.json delete mode 100644 appengine/flexible/laravel/composer.lock delete mode 100644 appengine/flexible/laravel/phpunit.xml.dist delete mode 100644 appengine/flexible/laravel/test/DeployDatabaseSessionTest.php delete mode 100644 appengine/flexible/laravel/test/DeployTest.php delete mode 100644 appengine/flexible/laravel/test/bootstrap.php delete mode 100644 appengine/flexible/logging/README.md delete mode 100644 appengine/flexible/logging/app.php delete mode 100644 appengine/flexible/logging/app.yaml delete mode 100644 appengine/flexible/logging/composer.json delete mode 100644 appengine/flexible/logging/composer.lock delete mode 100644 appengine/flexible/logging/index.html.twig delete mode 100644 appengine/flexible/logging/index.php delete mode 100644 appengine/flexible/logging/phpunit.xml.dist delete mode 100644 appengine/flexible/logging/test/DeployTest.php delete mode 100644 appengine/flexible/logging/test/LocalTest.php delete mode 100644 appengine/flexible/mailgun/README.md delete mode 100644 appengine/flexible/mailgun/app.php delete mode 100644 appengine/flexible/mailgun/app.yaml delete mode 100644 appengine/flexible/mailgun/attachment.txt delete mode 100644 appengine/flexible/mailgun/composer.json delete mode 100644 appengine/flexible/mailgun/composer.lock delete mode 100644 appengine/flexible/mailgun/index.php delete mode 100644 appengine/flexible/mailgun/phpunit.xml.dist delete mode 100644 appengine/flexible/mailgun/test/DeployTest.php delete mode 100644 appengine/flexible/mailgun/test/bootstrap.php delete mode 100644 appengine/flexible/mailjet/README.md delete mode 100644 appengine/flexible/mailjet/app.php delete mode 100644 appengine/flexible/mailjet/app.yaml delete mode 100644 appengine/flexible/mailjet/composer.json delete mode 100644 appengine/flexible/mailjet/composer.lock delete mode 100644 appengine/flexible/mailjet/index.php delete mode 100644 appengine/flexible/mailjet/phpunit.xml.dist delete mode 100644 appengine/flexible/mailjet/test/DeployTest.php delete mode 100644 appengine/flexible/mailjet/test/bootstrap.php delete mode 100644 appengine/flexible/memcache/README.md delete mode 100644 appengine/flexible/memcache/app.php delete mode 100644 appengine/flexible/memcache/app.yaml delete mode 100644 appengine/flexible/memcache/composer.json delete mode 100644 appengine/flexible/memcache/composer.lock delete mode 100644 appengine/flexible/memcache/memcache.html.twig delete mode 100644 appengine/flexible/memcache/nginx-app.conf delete mode 100644 appengine/flexible/memcache/php.ini delete mode 100644 appengine/flexible/memcache/phpunit.xml.dist delete mode 100644 appengine/flexible/memcache/test/DeployTest.php delete mode 100644 appengine/flexible/memcache/test/LocalTest.php delete mode 100644 appengine/flexible/memcache/test/bootstrap.php delete mode 100644 appengine/flexible/memcache/web/index.php delete mode 100644 appengine/flexible/metadata/README.md delete mode 100644 appengine/flexible/metadata/app.php delete mode 100644 appengine/flexible/metadata/app.yaml delete mode 100644 appengine/flexible/metadata/composer.json delete mode 100644 appengine/flexible/metadata/composer.lock delete mode 100644 appengine/flexible/metadata/index.php delete mode 100644 appengine/flexible/metadata/phpunit.xml.dist delete mode 100644 appengine/flexible/metadata/test/DeployTest.php delete mode 100644 appengine/flexible/pubsub/README.md delete mode 100644 appengine/flexible/sendgrid/README.md delete mode 100644 appengine/flexible/sendgrid/app.php delete mode 100644 appengine/flexible/sendgrid/app.yaml delete mode 100644 appengine/flexible/sendgrid/composer.json delete mode 100644 appengine/flexible/sendgrid/composer.lock delete mode 100644 appengine/flexible/sendgrid/index.php delete mode 100644 appengine/flexible/sendgrid/phpunit.xml.dist delete mode 100644 appengine/flexible/sendgrid/test/DeployTest.php delete mode 100644 appengine/flexible/sendgrid/test/LocalTest.php delete mode 100644 appengine/flexible/sendgrid/test/bootstrap.php delete mode 100644 appengine/flexible/staticcontent/README.md delete mode 100644 appengine/flexible/staticcontent/app.php delete mode 100644 appengine/flexible/staticcontent/app.yaml delete mode 100644 appengine/flexible/staticcontent/composer.json delete mode 100644 appengine/flexible/staticcontent/composer.lock delete mode 100644 appengine/flexible/staticcontent/index.html.twig delete mode 100644 appengine/flexible/staticcontent/phpunit.xml.dist delete mode 100644 appengine/flexible/staticcontent/test/DeployTest.php delete mode 100644 appengine/flexible/staticcontent/web/index.php delete mode 100644 appengine/flexible/staticcontent/web/static.html delete mode 100644 appengine/flexible/staticcontent/web/trees.jpg delete mode 100644 appengine/flexible/storage/README.md delete mode 100644 appengine/flexible/storage/app.php delete mode 100644 appengine/flexible/storage/app.yaml delete mode 100644 appengine/flexible/storage/composer.json delete mode 100644 appengine/flexible/storage/composer.lock delete mode 100644 appengine/flexible/storage/index.php delete mode 100644 appengine/flexible/storage/phpunit.xml delete mode 100644 appengine/flexible/storage/test/DeployTest.php delete mode 100644 appengine/flexible/storage/test/LocalTest.php delete mode 100644 appengine/flexible/symfony/.gitignore delete mode 100644 appengine/flexible/symfony/README.md delete mode 100644 appengine/flexible/symfony/app.yaml delete mode 100644 appengine/flexible/symfony/composer.json delete mode 100644 appengine/flexible/symfony/composer.lock delete mode 100644 appengine/flexible/symfony/nginx-app.conf delete mode 100644 appengine/flexible/symfony/phpunit.xml.dist delete mode 100644 appengine/flexible/symfony/test/DeployTest.php delete mode 100644 appengine/flexible/symfony/test/bootstrap.php delete mode 100644 appengine/flexible/twilio/README.md delete mode 100644 appengine/flexible/twilio/app.php delete mode 100644 appengine/flexible/twilio/app.yaml delete mode 100644 appengine/flexible/twilio/composer.json delete mode 100644 appengine/flexible/twilio/composer.lock delete mode 100644 appengine/flexible/twilio/index.php delete mode 100644 appengine/flexible/twilio/phpunit.xml.dist delete mode 100644 appengine/flexible/twilio/test/DeployTest.php delete mode 100644 appengine/flexible/twilio/test/LocalTest.php delete mode 100644 appengine/flexible/twilio/test/bootstrap.php delete mode 100644 appengine/standard/cloudsql/README.md delete mode 100644 appengine/standard/cloudsql/app.php delete mode 100644 appengine/standard/cloudsql/app.yaml delete mode 100644 appengine/standard/cloudsql/cloudsql.html.twig delete mode 100644 appengine/standard/cloudsql/composer.json delete mode 100644 appengine/standard/cloudsql/composer.lock delete mode 100644 appengine/standard/cloudsql/index.php delete mode 100644 appengine/standard/cloudsql/phpunit.xml.dist delete mode 100644 appengine/standard/cloudsql/test/LocalTest.php delete mode 100644 appengine/standard/http/README.md delete mode 100644 appengine/standard/http/app.php delete mode 100644 appengine/standard/http/app.yaml delete mode 100644 appengine/standard/http/composer.json delete mode 100644 appengine/standard/http/composer.lock delete mode 100644 appengine/standard/http/http.html.twig delete mode 100644 appengine/standard/http/index.php delete mode 100644 appengine/standard/http/php.ini delete mode 100644 appengine/standard/http/phpunit.xml.dist delete mode 100644 appengine/standard/http/test/LocalTest.php delete mode 100644 appengine/standard/logging/README.md delete mode 100644 appengine/standard/logging/app.yaml delete mode 100644 appengine/standard/logging/composer.json delete mode 100644 appengine/standard/logging/composer.lock delete mode 100644 appengine/standard/logging/index.php delete mode 100644 appengine/standard/logging/phpunit.xml.dist delete mode 100644 appengine/standard/logging/syslog.php delete mode 100644 appengine/standard/logging/test/LocalTest.php delete mode 100644 appengine/standard/logging/test/bootstrap.php delete mode 100644 appengine/standard/logging/test/mocks/AppLogLine.php delete mode 100644 appengine/standard/logging/test/mocks/Functions.php delete mode 100644 appengine/standard/logging/test/mocks/LogService.php delete mode 100644 appengine/standard/logging/test/mocks/RequestLog.php delete mode 100644 appengine/standard/logging/timeout.php delete mode 100644 appengine/standard/mail/README.md delete mode 100644 appengine/standard/mail/app.yaml delete mode 100644 appengine/standard/mail/composer.json delete mode 100644 appengine/standard/mail/composer.lock delete mode 100644 appengine/standard/mail/handle_bounced_email.php delete mode 100644 appengine/standard/mail/handle_incoming_email.php delete mode 100644 appengine/standard/mail/image.jpg delete mode 100644 appengine/standard/mail/index.php delete mode 100644 appengine/standard/mail/phpunit.xml.dist delete mode 100644 appengine/standard/mail/test/LocalTest.php delete mode 100644 appengine/standard/mail/test/bootstrap.php delete mode 100644 appengine/standard/mail/test/mocks/Message.php delete mode 100644 appengine/standard/mailgun/README.md delete mode 100644 appengine/standard/mailgun/app.php delete mode 100644 appengine/standard/mailgun/app.yaml delete mode 100644 appengine/standard/mailgun/attachment.txt delete mode 100644 appengine/standard/mailgun/composer.json delete mode 100644 appengine/standard/mailgun/composer.lock delete mode 100644 appengine/standard/mailgun/index.php delete mode 100644 appengine/standard/mailgun/phpunit.xml.dist delete mode 100644 appengine/standard/mailgun/test/LocalTest.php delete mode 100644 appengine/standard/mailgun/test/bootstrap.php delete mode 100644 appengine/standard/mailjet/README.md delete mode 100644 appengine/standard/mailjet/app.php delete mode 100644 appengine/standard/mailjet/app.yaml delete mode 100644 appengine/standard/mailjet/composer.json delete mode 100644 appengine/standard/mailjet/composer.lock delete mode 100644 appengine/standard/mailjet/index.php delete mode 100644 appengine/standard/mailjet/phpunit.xml.dist delete mode 100644 appengine/standard/mailjet/test/LocalTest.php delete mode 100644 appengine/standard/mailjet/test/bootstrap.php delete mode 100644 appengine/standard/memcache/README.md delete mode 100644 appengine/standard/memcache/app.php delete mode 100644 appengine/standard/memcache/app.yaml delete mode 100644 appengine/standard/memcache/composer.json delete mode 100644 appengine/standard/memcache/composer.lock delete mode 100644 appengine/standard/memcache/index.php delete mode 100644 appengine/standard/memcache/memcache.html.twig delete mode 100644 appengine/standard/memcache/phpunit.xml.dist delete mode 100644 appengine/standard/memcache/test/DeployTest.php delete mode 100644 appengine/standard/modules/README.md delete mode 100644 appengine/standard/modules/app.php delete mode 100644 appengine/standard/modules/app.yaml delete mode 100644 appengine/standard/modules/backend.php delete mode 100644 appengine/standard/modules/backend.yaml delete mode 100644 appengine/standard/modules/composer.json delete mode 100644 appengine/standard/modules/composer.lock delete mode 100644 appengine/standard/modules/index.php delete mode 100644 appengine/standard/modules/phpunit.xml.dist delete mode 100644 appengine/standard/modules/test/bootstrap.php delete mode 100644 appengine/standard/modules/test/e2e/DeployTest.php delete mode 100644 appengine/standard/modules/test/e2e/LocalTest.php delete mode 100644 appengine/standard/modules/test/e2e/ModulesTestTrait.php delete mode 100644 appengine/standard/modules/test/unit/ModulesApiTest.php delete mode 100644 appengine/standard/modules/test/unit/mocks/Functions.php delete mode 100644 appengine/standard/modules/test/unit/mocks/ModulesService.php delete mode 100644 appengine/standard/phpmyadmin/README.md delete mode 100644 appengine/standard/phpmyadmin/app-e2e.yaml delete mode 100644 appengine/standard/phpmyadmin/app.yaml delete mode 100644 appengine/standard/phpmyadmin/composer.json delete mode 100644 appengine/standard/phpmyadmin/composer.lock delete mode 100644 appengine/standard/phpmyadmin/config.inc.php delete mode 100644 appengine/standard/phpmyadmin/php.ini delete mode 100644 appengine/standard/phpmyadmin/phpunit.xml.dist delete mode 100644 appengine/standard/phpmyadmin/test/DeployTest.php delete mode 100644 appengine/standard/storage/README.md delete mode 100644 appengine/standard/storage/app.php delete mode 100644 appengine/standard/storage/app.yaml delete mode 100644 appengine/standard/storage/composer.json delete mode 100644 appengine/standard/storage/composer.lock delete mode 100644 appengine/standard/storage/file.txt delete mode 100644 appengine/standard/storage/image.jpg delete mode 100644 appengine/standard/storage/index.php delete mode 100644 appengine/standard/storage/phpunit.xml.dist delete mode 100644 appengine/standard/storage/storage.html.twig delete mode 100644 appengine/standard/storage/test/LocalTest.php delete mode 100644 appengine/standard/storage/test/bootstrap.php delete mode 100644 appengine/standard/storage/test/mocks/CloudStorageStreamWrapper.php delete mode 100644 appengine/standard/storage/test/mocks/CloudStorageTools.php delete mode 100644 appengine/standard/taskqueue/README.md delete mode 100644 appengine/standard/taskqueue/app.php delete mode 100644 appengine/standard/taskqueue/app.yaml delete mode 100644 appengine/standard/taskqueue/composer.json delete mode 100644 appengine/standard/taskqueue/composer.lock delete mode 100644 appengine/standard/taskqueue/index.php delete mode 100644 appengine/standard/taskqueue/phpunit.xml.dist delete mode 100644 appengine/standard/taskqueue/test/bootstrap.php delete mode 100644 appengine/standard/taskqueue/test/unit/TaskQueueTest.php delete mode 100644 appengine/standard/taskqueue/test/unit/mocks/PushQueue.php delete mode 100644 appengine/standard/taskqueue/test/unit/mocks/PushTask.php delete mode 100644 appengine/standard/twilio/README.md delete mode 100644 appengine/standard/twilio/app.php delete mode 100644 appengine/standard/twilio/app.yaml delete mode 100644 appengine/standard/twilio/composer.json delete mode 100644 appengine/standard/twilio/composer.lock delete mode 100644 appengine/standard/twilio/index.php delete mode 100644 appengine/standard/twilio/phpunit.xml.dist delete mode 100644 appengine/standard/twilio/test/LocalTest.php delete mode 100644 appengine/standard/users/README.md delete mode 100644 appengine/standard/users/app.php delete mode 100644 appengine/standard/users/app.yaml delete mode 100644 appengine/standard/users/composer.json delete mode 100644 appengine/standard/users/composer.lock delete mode 100644 appengine/standard/users/index.php delete mode 100644 appengine/standard/users/phpunit.xml.dist delete mode 100644 appengine/standard/users/test/bootstrap.php delete mode 100644 appengine/standard/users/test/e2e/DeployTest.php delete mode 100644 appengine/standard/users/test/e2e/LocalTest.php delete mode 100644 appengine/standard/users/test/unit/UsersApiTest.php delete mode 100644 appengine/standard/users/test/unit/mocks/User.php delete mode 100644 appengine/standard/users/test/unit/mocks/UserService.php delete mode 100644 appengine/standard/users/testing/E2EUsersTestTrait.php delete mode 100644 appengine/wordpress/.gitignore delete mode 100644 appengine/wordpress/README.md delete mode 100644 appengine/wordpress/composer.json delete mode 100644 appengine/wordpress/composer.lock delete mode 100644 appengine/wordpress/phpunit.xml.dist delete mode 100644 appengine/wordpress/src/Project.php delete mode 100644 appengine/wordpress/src/ReportInterface.php delete mode 100644 appengine/wordpress/src/ReportTrait.php delete mode 100644 appengine/wordpress/src/Utils.php delete mode 100644 appengine/wordpress/src/WordPressSetup.php delete mode 100644 appengine/wordpress/src/files/flexible/app.yaml delete mode 100644 appengine/wordpress/src/files/flexible/composer.json delete mode 100644 appengine/wordpress/src/files/flexible/cron.yaml delete mode 100644 appengine/wordpress/src/files/flexible/nginx-app.conf delete mode 100644 appengine/wordpress/src/files/flexible/php.ini delete mode 100644 appengine/wordpress/src/files/flexible/wp-config.php delete mode 100644 appengine/wordpress/src/files/standard/app.yaml delete mode 100644 appengine/wordpress/src/files/standard/composer.json delete mode 100644 appengine/wordpress/src/files/standard/cron.yaml delete mode 100644 appengine/wordpress/src/files/standard/php.ini delete mode 100644 appengine/wordpress/src/files/standard/wp-config.php delete mode 100644 appengine/wordpress/test/DeployFlexTest.php delete mode 100644 appengine/wordpress/test/DeployStandardTest.php delete mode 100644 appengine/wordpress/wordpress-helper.php diff --git a/appengine/flexible/analytics/README.md b/appengine/flexible/analytics/README.md deleted file mode 100644 index 7ff3f82030..0000000000 --- a/appengine/flexible/analytics/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# Google Analytics and Google App Engine Flexible Environment - -This sample application demonstrates how track events with Google Analytics -when running in Google App Engine Flexible Environment. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -$ composer install -``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -- [Create a Google Analytics Property and obtain the Tracking ID]( - https://support.google.com/analytics/answer/1042508?ref_topic=1009620). - Include the environment variables in app.yaml with your Tracking ID. - For example: - - ``` - env_variables: - GA_TRACKING_ID: your-tracking-id - ``` - - Before running the sample app locally, set the environment variables required by the app: - - ``` - export GA_TRACKING_ID=your-tracking-id - ``` - -**Deploy with gcloud** - -``` -$ gcloud config set project YOUR_PROJECT_ID -$ gcloud app deploy -``` diff --git a/appengine/flexible/analytics/app.php b/appengine/flexible/analytics/app.php deleted file mode 100644 index f739853c0a..0000000000 --- a/appengine/flexible/analytics/app.php +++ /dev/null @@ -1,55 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - $trackingId = $app['GA_TRACKING_ID']; - # [START track_event] - $baseUri = 'http://www.google-analytics.com/'; - $client = new GuzzleHttp\Client(['base_uri' => $baseUri]); - $formData = [ - 'v' => '1', # API Version. - 'tid' => $trackingId, # Tracking ID / Property ID. - # Anonymous Client Identifier. Ideally, this should be a UUID that - # is associated with particular user, device, or browser instance. - 'cid' => '555', - 't' => 'event', # Event hit type. - 'ec' => 'Poker', # Event category. - 'ea' => 'Royal Flush', # Event action. - 'el' => 'Hearts', # Event label. - 'ev' => 0, # Event value, must be an integer - ]; - $response = $client->request('POST', 'collect', ['form_params' => $formData]); - # [END track_event] - return $twig->render('index.html.twig', [ - 'base_uri' => $baseUri, - 'response_code' => $response->getStatusCode(), - 'response_reason' => $response->getReasonPhrase()]); -}); - -return $app; diff --git a/appengine/flexible/analytics/app.yaml b/appengine/flexible/analytics/app.yaml deleted file mode 100644 index 2bc2b1b197..0000000000 --- a/appengine/flexible/analytics/app.yaml +++ /dev/null @@ -1,10 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . - -# [START env_variables] -env_variables: - GA_TRACKING_ID: "YOUR-GA-TRACKING-ID" -# [END env_variables] diff --git a/appengine/flexible/analytics/composer.json b/appengine/flexible/analytics/composer.json deleted file mode 100644 index fb79cd0053..0000000000 --- a/appengine/flexible/analytics/composer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "twig/twig": "^1.24", - "guzzlehttp/guzzle": "^6.2", - "symfony/css-selector": "^3.1" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/flexible/analytics/composer.lock b/appengine/flexible/analytics/composer.lock deleted file mode 100644 index e3fa32cfc8..0000000000 --- a/appengine/flexible/analytics/composer.lock +++ /dev/null @@ -1,2246 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "115bc7148f741387bba95692a4f90964", - "packages": [ - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "a48f13dc83c168f1253a5d2a5a4fb46c36244c4c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/a48f13dc83c168f1253a5d2a5a4fb46c36244c4c", - "reference": "a48f13dc83c168f1253a5d2a5a4fb46c36244c4c", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/analytics/index.html.twig b/appengine/flexible/analytics/index.html.twig deleted file mode 100644 index 67e456b88c..0000000000 --- a/appengine/flexible/analytics/index.html.twig +++ /dev/null @@ -1,10 +0,0 @@ - - -

Google Analytics Sample

-

This sample demonstrates how to post event tracking data to Google Analytics -with PHP and Google App Engine Flexible Environment.

- -

HTTP post to {{ base_uri }} returned {{ response_code }} {{ response_reason }} -

- - diff --git a/appengine/flexible/analytics/index.php b/appengine/flexible/analytics/index.php deleted file mode 100644 index 90a6c46e9b..0000000000 --- a/appengine/flexible/analytics/index.php +++ /dev/null @@ -1,28 +0,0 @@ -run(); diff --git a/appengine/flexible/analytics/nginx-app.conf b/appengine/flexible/analytics/nginx-app.conf deleted file mode 100644 index 634c60a7d7..0000000000 --- a/appengine/flexible/analytics/nginx-app.conf +++ /dev/null @@ -1,6 +0,0 @@ -# [START static-config] -location / { - # try to serve file directly, fallback to front controller - try_files $uri /index.php$is_args$args; -} -# [END static-config] diff --git a/appengine/flexible/analytics/phpunit.xml.dist b/appengine/flexible/analytics/phpunit.xml.dist deleted file mode 100644 index 87337d659f..0000000000 --- a/appengine/flexible/analytics/phpunit.xml.dist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/analytics/test/DeployTest.php b/appengine/flexible/analytics/test/DeployTest.php deleted file mode 100644 index e48c4b4322..0000000000 --- a/appengine/flexible/analytics/test/DeployTest.php +++ /dev/null @@ -1,34 +0,0 @@ -client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - $this->assertContains('returned 200', (string) $resp->getBody(), - 'top page content'); - } -} diff --git a/appengine/flexible/analytics/test/LocalTest.php b/appengine/flexible/analytics/test/LocalTest.php deleted file mode 100644 index 739b769ebf..0000000000 --- a/appengine/flexible/analytics/test/LocalTest.php +++ /dev/null @@ -1,45 +0,0 @@ -client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - $app['GA_TRACKING_ID'] = getenv('GA_TRACKING_ID'); - return $app; - } - - public function testIndex() - { - // Access the modules app top page. - $client = $this->client; - $crawler = $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - $this->assertEquals(1, $crawler->filter( - 'html:contains("returned 200")')->count()); - } -} diff --git a/appengine/flexible/cloudsql-mysql/README.md b/appengine/flexible/cloudsql-mysql/README.md deleted file mode 100644 index 40a48e60c6..0000000000 --- a/appengine/flexible/cloudsql-mysql/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# Cloud SQL & Google App Engine Flexible Environment - -This sample application demonstrates how to use [Cloud SQL with Google App Engine Flexible Environment](https://cloud.google.com/appengine/docs/flexible/php/using-cloud-sql). - -## Setup - -Before running this sample: - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Setup - -Before you can run or deploy the sample, you will need to do the following: - -1. Create a [Second Generation Cloud SQL](https://cloud.google.com/sql/docs/create-instance) instance. You can do this from the [Cloud Console](https://console.developers.google.com) or via the [Cloud SDK](https://cloud.google.com/sdk). To create it via the SDK use the following command: - - $ gcloud beta sql instances create YOUR_INSTANCE_NAME --tier=db-f1-micro --activation-policy=ALWAYS - - > Note: the `--tier` option is required to create a `Second Generation` instance. See the - full list of available tiers by running `gcloud sql tiers list` - -2. Set the root password on your Cloud SQL instance: - - $ gcloud sql instances set-root-password YOUR_INSTANCE_NAME --password YOUR_INSTANCE_ROOT_PASSWORD - -3. Install and run the [CloudSQL Proxy](https://cloud.google.com/sql/docs/mysql-connect-proxy) - -4. Create a database for this example - - $ mysql -h 127.0.0.1 -u root -p -e "CREATE DATABASE ;" - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -1. Update `app.yaml` with the configuration values for `USER`, `PASSWORD`, and - `DATABASE` with the values you used during setup. - -1. Get the CloudSQL connection name - - $ gcloud beta sql instances describe YOUR_INSTANCE_NAME | grep connectionName - -1. Update `app.yaml` with the configuration value for `CONNECTION_NAME` you retrieved - at the end up setup. - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. - -## Run locally - -1. Ensure the [CloudSQL Proxy](https://cloud.google.com/sql/docs/external#proxy) is - installed and running. - -1. Set the following environment variables with the configuration values for - `USER`, `PASSWORD`, `DATABASE`, and `CONNECTION_NAME` you used during setup: - - ```sh - # set local mysql connection parameters - export MYSQL_DSN="mysql:host=127.0.0.1;port=3306;dbname=DATABASE" - export MYSQL_USER=USER - export MYSQL_PASSWORD=PASSWORD - ``` - -1. Run the application - - ```sh - cd php-docs-samples/appengine/flexible/cloudsql - php -S localhost:8080 - ``` - -Now you can view the app running at [http://localhost:8080](http://localhost:8080) -in your browser. diff --git a/appengine/flexible/cloudsql-mysql/app.php b/appengine/flexible/cloudsql-mysql/app.php deleted file mode 100644 index 1435d11850..0000000000 --- a/appengine/flexible/cloudsql-mysql/app.php +++ /dev/null @@ -1,76 +0,0 @@ -setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -$pdo->query('CREATE TABLE IF NOT EXISTS visits ' . - '(time_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, user_ip CHAR(64))'); - -// Add the PDO object to our Silex application. -$app['pdo'] = $pdo; - -$app->get('/', function (Application $app, Request $request) { - $ip = $request->GetClientIp(); - // Keep only the first two octets of the IP address. - $octets = explode($separator = ':', $ip); - if (count($octets) < 2) { // Must be ip4 address - $octets = explode($separator = '.', $ip); - } - if (count($octets) < 2) { - $octets = ['bad', 'ip']; // IP address will be recorded as bad.ip. - } - // Replace empty chunks with zeros. - $octets = array_map(function ($x) { - return $x == '' ? '0' : $x; - }, $octets); - $user_ip = $octets[0] . $separator . $octets[1]; - - // Insert a visit into the database. - /** @var PDO $pdo */ - $pdo = $app['pdo']; - $insert = $pdo->prepare('INSERT INTO visits (user_ip) values (:user_ip)'); - $insert->execute(['user_ip' => $user_ip]); - - // Look up the last 10 visits - $select = $pdo->prepare( - 'SELECT * FROM visits ORDER BY time_stamp DESC LIMIT 10'); - $select->execute(); - $visits = ["Last 10 visits:"]; - while ($row = $select->fetch(PDO::FETCH_ASSOC)) { - array_push($visits, sprintf('Time: %s Addr: %s', $row['time_stamp'], - $row['user_ip'])); - } - return new Response(implode("\n", $visits), 200, - ['Content-Type' => 'text/plain']); -}); -# [END example] - -return $app; diff --git a/appengine/flexible/cloudsql-mysql/app.yaml b/appengine/flexible/cloudsql-mysql/app.yaml deleted file mode 100644 index b96ce28951..0000000000 --- a/appengine/flexible/cloudsql-mysql/app.yaml +++ /dev/null @@ -1,20 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . - -#[START env] -env_variables: - # Replace USER, PASSWORD, DATABASE, and CONNECTION_NAME with the - # values obtained when configuring your Cloud SQL instance. - MYSQL_USER: USER - MYSQL_PASSWORD: PASSWORD - MYSQL_DSN: mysql:dbname=DATABASE;unix_socket=/cloudsql/CONNECTION_NAME -#[END env] - -#[START cloudsql_settings] -# Use the connection name obtained when configuring your Cloud SQL instance. -beta_settings: - cloud_sql_instances: "CONNECTION_NAME" -#[END cloudsql_settings] diff --git a/appengine/flexible/cloudsql-mysql/composer.json b/appengine/flexible/cloudsql-mysql/composer.json deleted file mode 100644 index 2cf6c2078e..0000000000 --- a/appengine/flexible/cloudsql-mysql/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "google/apiclient": "^2.0" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/flexible/cloudsql-mysql/composer.lock b/appengine/flexible/cloudsql-mysql/composer.lock deleted file mode 100644 index 0b6dabb174..0000000000 --- a/appengine/flexible/cloudsql-mysql/composer.lock +++ /dev/null @@ -1,2582 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "78003ee6832b8704a81fb9c2cbff7d68", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/apiclient", - "version": "v2.1.3", - "source": { - "type": "git", - "url": "https://github.com/google/google-api-php-client.git", - "reference": "43996f09df274158fd04fce98e8a82effe5f3717" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-api-php-client/zipball/43996f09df274158fd04fce98e8a82effe5f3717", - "reference": "43996f09df274158fd04fce98e8a82effe5f3717", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "google/apiclient-services": "^0.11", - "google/auth": "^0.11", - "guzzlehttp/guzzle": "~5.2|~6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "^1.17", - "php": ">=5.4", - "phpseclib/phpseclib": "~0.3.10|~2.0" - }, - "require-dev": { - "cache/filesystem-adapter": "^0.3.2", - "phpunit/phpunit": "~4", - "squizlabs/php_codesniffer": "~2.3", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1" - }, - "suggest": { - "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Google_": "src/" - }, - "classmap": [ - "src/Google/Service/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Client library for Google APIs", - "homepage": "http://developers.google.com/api-client-library/php", - "keywords": [ - "google" - ], - "time": "2017-03-22T18:32:04+00:00" - }, - { - "name": "google/apiclient-services", - "version": "v0.11", - "source": { - "type": "git", - "url": "https://github.com/google/google-api-php-client-services.git", - "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", - "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", - "shasum": "" - }, - "require": { - "php": ">=5.4" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "autoload": { - "psr-0": { - "Google_Service_": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Client library for Google APIs", - "homepage": "http://developers.google.com/api-client-library/php", - "keywords": [ - "google" - ], - "time": "2017-03-13T17:40:44+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "~4.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net/", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "time": "2016-10-04T00:57:04+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/cloudsql-mysql/index.php b/appengine/flexible/cloudsql-mysql/index.php deleted file mode 100644 index 051e9e59dd..0000000000 --- a/appengine/flexible/cloudsql-mysql/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/flexible/cloudsql-mysql/phpunit.xml.dist b/appengine/flexible/cloudsql-mysql/phpunit.xml.dist deleted file mode 100644 index 8b8325e7b6..0000000000 --- a/appengine/flexible/cloudsql-mysql/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/cloudsql-mysql/test/DeployTest.php b/appengine/flexible/cloudsql-mysql/test/DeployTest.php deleted file mode 100644 index 711f2acef8..0000000000 --- a/appengine/flexible/cloudsql-mysql/test/DeployTest.php +++ /dev/null @@ -1,60 +0,0 @@ -client->request('GET', '/'); - - $this->assertEquals('200', $resp->getStatusCode()); - $this->assertContains("Last 10 visits:", (string) $resp->getBody()); - } - - public static function beforeDeploy() - { - $tmpDir = FileUtil::cloneDirectoryIntoTmp(__DIR__ . '/..'); - self::$gcloudWrapper->setDir($tmpDir); - chdir($tmpDir); - - $connectionName = getenv('CLOUDSQL_CONNECTION_NAME_MYSQL'); - $user = getenv('MYSQL_USER'); - $database = getenv('MYSQL_DATABASE'); - $password = getenv('MYSQL_PASSWORD'); - - $appYamlContents = file_get_contents('app.yaml'); - - $appYaml = Yaml::parse($appYamlContents); - $appYaml['env_variables']['MYSQL_USER'] = $user; - $appYaml['env_variables']['MYSQL_PASSWORD'] = $password; - $appYaml['beta_settings']['cloud_sql_instances'] = $connectionName; - $appYaml['env_variables']['MYSQL_DSN'] = str_replace( - ['DATABASE', 'CONNECTION_NAME'], - [$database, $connectionName], - $appYaml['env_variables']['MYSQL_DSN'] - ); - - file_put_contents('app.yaml', Yaml::dump($appYaml)); - } -} diff --git a/appengine/flexible/cloudsql-mysql/test/LocalTest.php b/appengine/flexible/cloudsql-mysql/test/LocalTest.php deleted file mode 100644 index 6a6872c010..0000000000 --- a/appengine/flexible/cloudsql-mysql/test/LocalTest.php +++ /dev/null @@ -1,49 +0,0 @@ -client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - if (getenv('MYSQL_DSN') === false || - getenv('MYSQL_USER') === false || - getenv('MYSQL_PASSWORD') === false) { - $this->markTestSkipped('set the MYSQL_DSN, MYSQL_USER and MYSQL_PASSWORD environment variables'); - } - return $app; - } - - public function testIndex() - { - // Access the modules app top page. - $client = $this->client; - $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - $text = $client->getResponse()->getContent(); - $this->assertContains("Last 10 visits:", $text); - } -} diff --git a/appengine/flexible/cloudsql-mysql/test/bootstrap.php b/appengine/flexible/cloudsql-mysql/test/bootstrap.php deleted file mode 100644 index be234bb16a..0000000000 --- a/appengine/flexible/cloudsql-mysql/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ - Note: the `--tier` option is required to create a `Second Generation` instance. See the - full list of available tiers by running `gcloud sql tiers list` - -2. Set the root password on your Cloud SQL instance: - - $ gcloud sql instances set-root-password YOUR_INSTANCE_NAME --password YOUR_INSTANCE_ROOT_PASSWORD - -3. Install and run the [CloudSQL Proxy](https://cloud.google.com/sql/docs/mysql-connect-proxy) - -4. Create a database for this example - - $ mysql -h 127.0.0.1 -u root -p -e "CREATE DATABASE ;" - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -1. Update `app.yaml` with the configuration values for `USER`, `PASSWORD`, and - `DATABASE` with the values you used during setup. - -1. Get the CloudSQL connection name - - $ gcloud beta sql instances describe YOUR_INSTANCE_NAME | grep connectionName - -1. Update `app.yaml` with the configuration value for `CONNECTION_NAME` you retrieved - at the end up setup. - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. - -## Run locally - -1. Ensure the [CloudSQL Proxy](https://cloud.google.com/sql/docs/external#proxy) is - installed and running. - -1. Set the following environment variables with the configuration values for - `USER`, `PASSWORD`, `DATABASE`, and `CONNECTION_NAME` you used during setup: - - ```sh - # set local mysql connection parameters - export POSTGRES_DSN="pgsql:host=127.0.0.1;port=5432;dbname=DATABASE" - export POSTGRES_USER=USER - export POSTGRES_PASSWORD=PASSWORD - ``` - -1. Run the application - - ```sh - cd php-docs-samples/appengine/flexible/cloudsql - php -S localhost:8080 - ``` - -Now you can view the app running at [http://localhost:8080](http://localhost:8080) -in your browser. diff --git a/appengine/flexible/cloudsql-postgres/app.php b/appengine/flexible/cloudsql-postgres/app.php deleted file mode 100644 index df2f043c3d..0000000000 --- a/appengine/flexible/cloudsql-postgres/app.php +++ /dev/null @@ -1,76 +0,0 @@ -setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -$pdo->query('CREATE TABLE IF NOT EXISTS visits ' . - '(time_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, user_ip CHAR(64))'); - -// Add the PDO object to our Silex application. -$app['pdo'] = $pdo; - -$app->get('/', function (Application $app, Request $request) { - $ip = $request->GetClientIp(); - // Keep only the first two octets of the IP address. - $octets = explode($separator = ':', $ip); - if (count($octets) < 2) { // Must be ip4 address - $octets = explode($separator = '.', $ip); - } - if (count($octets) < 2) { - $octets = ['bad', 'ip']; // IP address will be recorded as bad.ip. - } - // Replace empty chunks with zeros. - $octets = array_map(function ($x) { - return $x == '' ? '0' : $x; - }, $octets); - $user_ip = $octets[0] . $separator . $octets[1]; - - // Insert a visit into the database. - /** @var PDO $pdo */ - $pdo = $app['pdo']; - $insert = $pdo->prepare('INSERT INTO visits (user_ip) values (:user_ip)'); - $insert->execute(['user_ip' => $user_ip]); - - // Look up the last 10 visits - $select = $pdo->prepare( - 'SELECT * FROM visits ORDER BY time_stamp DESC LIMIT 10'); - $select->execute(); - $visits = ["Last 10 visits:"]; - while ($row = $select->fetch(PDO::FETCH_ASSOC)) { - array_push($visits, sprintf('Time: %s Addr: %s', $row['time_stamp'], - $row['user_ip'])); - } - return new Response(implode("\n", $visits), 200, - ['Content-Type' => 'text/plain']); -}); -# [END example] - -return $app; diff --git a/appengine/flexible/cloudsql-postgres/app.yaml b/appengine/flexible/cloudsql-postgres/app.yaml deleted file mode 100644 index d76c970769..0000000000 --- a/appengine/flexible/cloudsql-postgres/app.yaml +++ /dev/null @@ -1,20 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . - -#[START env] -env_variables: - # Replace USER, PASSWORD, DATABASE, and CONNECTION_NAME with the - # values obtained when configuring your Cloud SQL instance. - POSTGRES_USER: USER - POSTGRES_PASSWORD: PASSWORD - POSTGRES_DSN: pgsql:dbname=DATABASE;host=/cloudsql/CONNECTION_NAME -#[END env] - -#[START cloudsql_settings] -# Use the connection name obtained when configuring your Cloud SQL instance. -beta_settings: - cloud_sql_instances: "CONNECTION_NAME" -#[END cloudsql_settings] diff --git a/appengine/flexible/cloudsql-postgres/composer.json b/appengine/flexible/cloudsql-postgres/composer.json deleted file mode 100644 index 2cf6c2078e..0000000000 --- a/appengine/flexible/cloudsql-postgres/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "google/apiclient": "^2.0" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/flexible/cloudsql-postgres/composer.lock b/appengine/flexible/cloudsql-postgres/composer.lock deleted file mode 100644 index 0b6dabb174..0000000000 --- a/appengine/flexible/cloudsql-postgres/composer.lock +++ /dev/null @@ -1,2582 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "78003ee6832b8704a81fb9c2cbff7d68", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/apiclient", - "version": "v2.1.3", - "source": { - "type": "git", - "url": "https://github.com/google/google-api-php-client.git", - "reference": "43996f09df274158fd04fce98e8a82effe5f3717" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-api-php-client/zipball/43996f09df274158fd04fce98e8a82effe5f3717", - "reference": "43996f09df274158fd04fce98e8a82effe5f3717", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "google/apiclient-services": "^0.11", - "google/auth": "^0.11", - "guzzlehttp/guzzle": "~5.2|~6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "^1.17", - "php": ">=5.4", - "phpseclib/phpseclib": "~0.3.10|~2.0" - }, - "require-dev": { - "cache/filesystem-adapter": "^0.3.2", - "phpunit/phpunit": "~4", - "squizlabs/php_codesniffer": "~2.3", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1" - }, - "suggest": { - "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Google_": "src/" - }, - "classmap": [ - "src/Google/Service/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Client library for Google APIs", - "homepage": "http://developers.google.com/api-client-library/php", - "keywords": [ - "google" - ], - "time": "2017-03-22T18:32:04+00:00" - }, - { - "name": "google/apiclient-services", - "version": "v0.11", - "source": { - "type": "git", - "url": "https://github.com/google/google-api-php-client-services.git", - "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", - "reference": "48c554aee06f2fd5700d7bdfa4fa6b82d184eb52", - "shasum": "" - }, - "require": { - "php": ">=5.4" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "autoload": { - "psr-0": { - "Google_Service_": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Client library for Google APIs", - "homepage": "http://developers.google.com/api-client-library/php", - "keywords": [ - "google" - ], - "time": "2017-03-13T17:40:44+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "~4.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net/", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "time": "2016-10-04T00:57:04+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/cloudsql-postgres/index.php b/appengine/flexible/cloudsql-postgres/index.php deleted file mode 100644 index 051e9e59dd..0000000000 --- a/appengine/flexible/cloudsql-postgres/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/flexible/cloudsql-postgres/phpunit.xml.dist b/appengine/flexible/cloudsql-postgres/phpunit.xml.dist deleted file mode 100644 index 8b8325e7b6..0000000000 --- a/appengine/flexible/cloudsql-postgres/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/cloudsql-postgres/test/DeployTest.php b/appengine/flexible/cloudsql-postgres/test/DeployTest.php deleted file mode 100644 index 5f45de29e4..0000000000 --- a/appengine/flexible/cloudsql-postgres/test/DeployTest.php +++ /dev/null @@ -1,60 +0,0 @@ -client->request('GET', '/'); - - $this->assertEquals('200', $resp->getStatusCode()); - $this->assertContains("Last 10 visits:", (string) $resp->getBody()); - } - - public static function beforeDeploy() - { - $tmpDir = FileUtil::cloneDirectoryIntoTmp(__DIR__ . '/..'); - self::$gcloudWrapper->setDir($tmpDir); - chdir($tmpDir); - - $connectionName = getenv('CLOUDSQL_CONNECTION_NAME_POSTGRES'); - $user = getenv('POSTGRES_USER'); - $database = getenv('POSTGRES_DATABASE'); - $password = getenv('POSTGRES_PASSWORD'); - - $appYamlContents = file_get_contents('app.yaml'); - - $appYaml = Yaml::parse($appYamlContents); - $appYaml['env_variables']['POSTGRES_USER'] = $user; - $appYaml['env_variables']['POSTGRES_PASSWORD'] = $password; - $appYaml['beta_settings']['cloud_sql_instances'] = $connectionName; - $appYaml['env_variables']['POSTGRES_DSN'] = str_replace( - ['DATABASE', 'CONNECTION_NAME'], - [$database, $connectionName], - $appYaml['env_variables']['POSTGRES_DSN'] - ); - - file_put_contents('app.yaml', Yaml::dump($appYaml)); - } -} diff --git a/appengine/flexible/cloudsql-postgres/test/LocalTest.php b/appengine/flexible/cloudsql-postgres/test/LocalTest.php deleted file mode 100644 index fe3f681513..0000000000 --- a/appengine/flexible/cloudsql-postgres/test/LocalTest.php +++ /dev/null @@ -1,49 +0,0 @@ -client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - if (getenv('POSTGRES_DSN') === false || - getenv('POSTGRES_USER') === false || - getenv('POSTGRES_PASSWORD') === false) { - $this->markTestSkipped('set the POSTGRES_DSN, POSTGRES_USER and POSTGRES_PASSWORD environment variables'); - } - return $app; - } - - public function testIndex() - { - // Access the modules app top page. - $client = $this->client; - $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - $text = $client->getResponse()->getContent(); - $this->assertContains("Last 10 visits:", $text); - } -} diff --git a/appengine/flexible/cloudsql-postgres/test/bootstrap.php b/appengine/flexible/cloudsql-postgres/test/bootstrap.php deleted file mode 100644 index be234bb16a..0000000000 --- a/appengine/flexible/cloudsql-postgres/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ - APIs." - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - - ```sh - $ composer install - ``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -``` -$ gcloud config set project YOUR_PROJECT_ID -$ gcloud app deploy -``` - -## Run Locally - -- Go to "Credentials" and create a new Service Account. - -- Select "Generate new JSON key", then download a new JSON file. - -- Set the following environment variables: - - - `GOOGLE_APPLICATION_CREDENTIALS`: the file path to the downloaded JSON file. - - `GCLOUD_PROJECT`: Your project ID diff --git a/appengine/flexible/datastore/app.php b/appengine/flexible/datastore/app.php deleted file mode 100644 index 64a51efb61..0000000000 --- a/appengine/flexible/datastore/app.php +++ /dev/null @@ -1,94 +0,0 @@ - $projectId - ]); - # [END create_client] - return $datastore; -}; - -$app->get('/', function (Application $app, Request $request) { - if (empty($app['project_id'])) { - return 'Set the GCLOUD_PROJECT environment variable to run locally'; - } - /** @var \Google_Service_Datastore $datastore */ - $datastore = $app['datastore']; - - // determine the user's IP - $user_ip = get_user_ip($request); - - # [START insert_entity] - // Create an entity to insert into datastore. - $key = $datastore->key('visit'); - $entity = $datastore->entity($key, [ - 'user_ip' => $user_ip, - 'timestamp' => new DateTime(), - ]); - $datastore->insert($entity); - # [END insert_entity] - - # [START run_query] - // Query recent visits. - $query = $datastore->query() - ->kind('visit') - ->order('timestamp', 'DESCENDING') - ->limit(10); - $results = $datastore->runQuery($query); - $visits = []; - foreach ($results as $entity) { - $visits[] = sprintf('Time: %s Addr: %s', - $entity['timestamp']->format('Y-m-d H:i:s'), - $entity['user_ip']); - } - # [END run_query] - array_unshift($visits, "Last 10 visits:"); - return new Response(implode("\n", $visits), 200, - ['Content-Type' => 'text/plain']); -}); - -function get_user_ip(Request $request) -{ - $ip = $request->GetClientIp(); - // Keep only the first two octets of the IP address. - $octets = explode($separator = ':', $ip); - if (count($octets) < 2) { // Must be ip4 address - $octets = explode($separator = '.', $ip); - } - if (count($octets) < 2) { - $octets = ['bad', 'ip']; - } - // Replace empty chunks with zeros. - $octets = array_map(function ($x) { - return $x == '' ? '0' : $x; - }, $octets); - $user_ip = $octets[0] . $separator . $octets[1]; - return $user_ip; -} - -return $app; diff --git a/appengine/flexible/datastore/app.yaml b/appengine/flexible/datastore/app.yaml deleted file mode 100644 index 7ae9a2661c..0000000000 --- a/appengine/flexible/datastore/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . diff --git a/appengine/flexible/datastore/composer.json b/appengine/flexible/datastore/composer.json deleted file mode 100644 index f2f3d0141a..0000000000 --- a/appengine/flexible/datastore/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "google/cloud-datastore": "^1.0" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/flexible/datastore/composer.lock b/appengine/flexible/datastore/composer.lock deleted file mode 100644 index 3c246467cc..0000000000 --- a/appengine/flexible/datastore/composer.lock +++ /dev/null @@ -1,2474 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "9ae07b6a88fef9740a98c0d330d1476a", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-datastore", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-datastore.git", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-datastore/zipball/f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-datastore", - "target": "GoogleCloudPlatform/google-cloud-php-datastore.git", - "path": "src/Datastore", - "entry": "DatastoreClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Datastore\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Datastore Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.6", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/intl": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.28|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2017-04-30T16:26:54+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e9c50482841ef696e8fa1470d950a79c8921f45d", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-01T21:01:25+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:14:56+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-05-25T23:10:31+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/datastore/index.php b/appengine/flexible/datastore/index.php deleted file mode 100644 index 1fe28e68c2..0000000000 --- a/appengine/flexible/datastore/index.php +++ /dev/null @@ -1,28 +0,0 @@ -run(); diff --git a/appengine/flexible/datastore/phpunit.xml.dist b/appengine/flexible/datastore/phpunit.xml.dist deleted file mode 100644 index a12afbd470..0000000000 --- a/appengine/flexible/datastore/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/datastore/test/DeployTest.php b/appengine/flexible/datastore/test/DeployTest.php deleted file mode 100644 index 21977542aa..0000000000 --- a/appengine/flexible/datastore/test/DeployTest.php +++ /dev/null @@ -1,34 +0,0 @@ -client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - - $this->assertContains("Last 10 visits:", (string) $resp->getBody()); - } -} diff --git a/appengine/flexible/datastore/test/LocalTest.php b/appengine/flexible/datastore/test/LocalTest.php deleted file mode 100644 index 49f69d409f..0000000000 --- a/appengine/flexible/datastore/test/LocalTest.php +++ /dev/null @@ -1,48 +0,0 @@ -client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - if (!$projectId = getenv('GCLOUD_PROJECT')) { - $this->markTestSkipped('Must set GCLOUD_PROJECT'); - } - $app['project_id'] = $projectId; - return $app; - } - - public function testIndex() - { - // Access the modules app top page. - $client = $this->client; - $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - $text = $client->getResponse()->getContent(); - $this->assertContains("Last 10 visits:", $text); - } -} diff --git a/appengine/flexible/drupal8/README.md b/appengine/flexible/drupal8/README.md deleted file mode 100644 index 3b0008c626..0000000000 --- a/appengine/flexible/drupal8/README.md +++ /dev/null @@ -1,95 +0,0 @@ -Drupal 8 on App Engine Flexible Environment -=========================================== - -## Overview - -This guide will help you deploy Drupal 8 on [App Engine Flexible][1] - -## Prerequisites - -Before setting up Drupal 8 on App Engine Flexible, you will need to complete the following: - - 1. Create a [Google Cloud Platform project][2]. Note your **Project ID**, as you will need it - later. - 1. Create a [Google Cloud SQL instance][3]. You will use this as your Drupal MySQL backend. - -## Install Drupal 8 - -### Download - -Use the [Drupal 8 Drush CLI][4] to install a drupal project. This can be installed locally -by running `composer install` in this directory: - -```sh -composer install -./vendor/bin/drush -``` - -Now you can run the command to download drupal: - -```sh -cd /path/to/drupal -/path/to/drush dl drupal -``` - -Alternatively, you can download a compressed file of Drupal 8 from the [Drupal Website][5]. - -### Installation - - 1. Set up your Drupal 8 instance using the web interface - ```sh - cd /path/to/drupal - php -S localhost:8080 - ``` - Open [http://localhost:8080](http://localhost:8080) in your browser after running these steps - - 1. You can also try setting up your Drupal 8 instance using [Drush][4] - ```sh - cd /path/to/drupal - /path/to/drush site-install \ - --locale=en \ - --db-path=mysql://user@pass:host/db_name \ - --site-name='My Drupal Site On Google' \ - --site-mail=you@example.com \ - --account-name admin \ - --account-mail you@example.com \ - --account-pass admin - ``` - -You will want to use the Cloud SQL credentials you created in the **Prerequisites** section as your -Drupal backend. - -## Add app.yaml - -Add a file `app.yaml` with the following contents to the root of your Drupal project: - -```yaml -runtime: php -env: flex -``` - -`app.yaml` is the App Engine configuration for your project. - -## Disable CSS and JS Cache - -For now, you need to disable the CSS and JS preprocessed caching that Drupal 8 enables by default. -To do this, go to `/admin/config/development/performance` and deselect the two -chechboxes (`Aggregate CSS files` and `Aggregate JS files`) under **Bandwidth Optimizations**. - -Alternatively, you can use [Drush][4] to change this config setting: - -```sh -# this command must be run inside the root directory of a drupal project -cd /path/to/drupal -/path/to/drush pm-enable config -y -/path/to/drush config-set system.performance css.preprocess 0 -/path/to/drush config-set system.performance js.preprocess 0 -``` - -This will change the values `preprocess` under `css` and `js` to `false`. - -[1]: https://cloud.google.com/appengine/docs/flexible/ -[2]: https://console.cloud.google.com -[3]: https://cloud.google.com/sql/docs/getting-started -[4]: http://docs.drush.org/en/master/install/ -[5]: https://www.drupal.org/8/download diff --git a/appengine/flexible/drupal8/app.yaml b/appengine/flexible/drupal8/app.yaml deleted file mode 100644 index 7ae9a2661c..0000000000 --- a/appengine/flexible/drupal8/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . diff --git a/appengine/flexible/drupal8/composer.json b/appengine/flexible/drupal8/composer.json deleted file mode 100644 index 3876afd042..0000000000 --- a/appengine/flexible/drupal8/composer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "require": { - "drush/drush": "^8.1" - }, - "require-dev": { - "guzzlehttp/guzzle": "^6.2", - "google/cloud-tools": "^0.6", - "monolog/monolog": "^1.19", - "symfony/console": " ^2.7", - "symfony/process": "^3.0", - "paragonie/random_compat": " ^2.0" - } -} diff --git a/appengine/flexible/drupal8/composer.lock b/appengine/flexible/drupal8/composer.lock deleted file mode 100644 index b0c8b0220f..0000000000 --- a/appengine/flexible/drupal8/composer.lock +++ /dev/null @@ -1,2745 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "f4787618c943c64288b96139a3e659b8", - "packages": [ - { - "name": "consolidation/annotated-command", - "version": "2.4.8", - "source": { - "type": "git", - "url": "https://github.com/consolidation/annotated-command.git", - "reference": "6672ea38212f8bffb71fec7eadc8b3372154b17e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/6672ea38212f8bffb71fec7eadc8b3372154b17e", - "reference": "6672ea38212f8bffb71fec7eadc8b3372154b17e", - "shasum": "" - }, - "require": { - "consolidation/output-formatters": "^3.1.5", - "php": ">=5.4.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "psr/log": "^1", - "symfony/console": "^2.8|~3", - "symfony/event-dispatcher": "^2.5|^3", - "symfony/finder": "^2.5|^3" - }, - "require-dev": { - "phpunit/phpunit": "^4.8", - "satooshi/php-coveralls": "^1.0", - "squizlabs/php_codesniffer": "^2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Consolidation\\AnnotatedCommand\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Greg Anderson", - "email": "greg.1.anderson@greenknowe.org" - } - ], - "description": "Initialize Symfony Console commands from annotated command class methods.", - "time": "2017-04-03T22:37:00+00:00" - }, - { - "name": "consolidation/output-formatters", - "version": "3.1.8", - "source": { - "type": "git", - "url": "https://github.com/consolidation/output-formatters.git", - "reference": "0b50ba1134d581fd55376f3e21508dab009ced47" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/0b50ba1134d581fd55376f3e21508dab009ced47", - "reference": "0b50ba1134d581fd55376f3e21508dab009ced47", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "symfony/console": "^2.8|~3", - "symfony/finder": "~2.5|~3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8", - "satooshi/php-coveralls": "^1.0", - "squizlabs/php_codesniffer": "^2.7", - "victorjonsson/markdowndocs": "^1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Consolidation\\OutputFormatters\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Greg Anderson", - "email": "greg.1.anderson@greenknowe.org" - } - ], - "description": "Format text by applying transformations provided by plug-in formatters.", - "time": "2017-03-01T20:54:45+00:00" - }, - { - "name": "dnoegel/php-xdg-base-dir", - "version": "0.1", - "source": { - "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "@stable" - }, - "type": "project", - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24T07:27:01+00:00" - }, - { - "name": "drush/drush", - "version": "8.1.10", - "source": { - "type": "git", - "url": "https://github.com/drush-ops/drush.git", - "reference": "2192496b80aa9cdb0581a2d308623f950f747e94" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/drush-ops/drush/zipball/2192496b80aa9cdb0581a2d308623f950f747e94", - "reference": "2192496b80aa9cdb0581a2d308623f950f747e94", - "shasum": "" - }, - "require": { - "consolidation/annotated-command": "~2", - "consolidation/output-formatters": "~3", - "pear/console_table": "~1.3.0", - "php": ">=5.4.5", - "phpdocumentor/reflection-docblock": "^2.0", - "psr/log": "~1.0", - "psy/psysh": "~0.6", - "symfony/console": "~2.7", - "symfony/event-dispatcher": "~2.7", - "symfony/finder": "~2.7", - "symfony/var-dumper": "~2.7", - "symfony/yaml": "~2.3", - "webmozart/path-util": "~2" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "symfony/process": "2.7.*" - }, - "suggest": { - "drush/config-extra": "Provides configuration workflow commands, such as config-merge.", - "ext-pcntl": "*" - }, - "bin": [ - "drush", - "drush.launcher", - "drush.php", - "drush.complete.sh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "8.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Drush": "lib/", - "Consolidation": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "Moshe Weitzman", - "email": "weitzman@tejasa.com" - }, - { - "name": "Owen Barton", - "email": "drupal@owenbarton.com" - }, - { - "name": "Mark Sonnabaum", - "email": "marksonnabaum@gmail.com" - }, - { - "name": "Antoine Beaupré", - "email": "anarcat@koumbit.org" - }, - { - "name": "Greg Anderson", - "email": "greg.1.anderson@greenknowe.org" - }, - { - "name": "Jonathan Araña Cruz", - "email": "jonhattan@faita.net" - }, - { - "name": "Jonathan Hedstrom", - "email": "jhedstrom@gmail.com" - }, - { - "name": "Christopher Gervais", - "email": "chris@ergonlogic.com" - }, - { - "name": "Dave Reid", - "email": "dave@davereid.net" - }, - { - "name": "Damian Lee", - "email": "damiankloip@googlemail.com" - } - ], - "description": "Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.", - "homepage": "http://www.drush.org/", - "time": "2017-02-23T20:46:12+00:00" - }, - { - "name": "jakub-onderka/php-console-color", - "version": "0.1", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "jakub-onderka/php-code-style": "1.0", - "jakub-onderka/php-parallel-lint": "0.*", - "jakub-onderka/php-var-dump-check": "0.*", - "phpunit/phpunit": "3.7.*", - "squizlabs/php_codesniffer": "1.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleColor": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com", - "homepage": "http://www.acci.cz/" - } - ], - "time": "2014-04-08T15:00:19+00:00" - }, - { - "name": "jakub-onderka/php-console-highlighter", - "version": "v0.3.2", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", - "shasum": "" - }, - "require": { - "jakub-onderka/php-console-color": "~0.1", - "php": ">=5.3.0" - }, - "require-dev": { - "jakub-onderka/php-code-style": "~1.0", - "jakub-onderka/php-parallel-lint": "~0.5", - "jakub-onderka/php-var-dump-check": "~0.1", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~1.5" - }, - "type": "library", - "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleHighlighter": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "acci@acci.cz", - "homepage": "http://www.acci.cz/" - } - ], - "time": "2015-04-20T18:58:01+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v3.0.5", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2b9e2f71b722f7c53918ab0c25f7646c2013f17d", - "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2017-03-05T18:23:57+00:00" - }, - { - "name": "pear/console_table", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/pear/Console_Table.git", - "reference": "64100b9ee81852f4fa17823e55d0b385a544f976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pear/Console_Table/zipball/64100b9ee81852f4fa17823e55d0b385a544f976", - "reference": "64100b9ee81852f4fa17823e55d0b385a544f976", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "suggest": { - "pear/Console_Color2": ">=0.1.2" - }, - "type": "library", - "autoload": { - "classmap": [ - "Table.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Jan Schneider", - "homepage": "http://pear.php.net/user/yunosh" - }, - { - "name": "Tal Peer", - "homepage": "http://pear.php.net/user/tal" - }, - { - "name": "Xavier Noguer", - "homepage": "http://pear.php.net/user/xnoguer" - }, - { - "name": "Richard Heyes", - "homepage": "http://pear.php.net/user/richard" - } - ], - "description": "Library that makes it easy to build console style tables.", - "homepage": "http://pear.php.net/package/Console_Table/", - "keywords": [ - "console" - ], - "time": "2016-01-21T16:14:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2015-02-03T12:10:50+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.8.3", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e", - "reference": "1dd4bbbc64d71e7ec075ffe82b42d9e096dc8d5e", - "shasum": "" - }, - "require": { - "dnoegel/php-xdg-base-dir": "0.1", - "jakub-onderka/php-console-highlighter": "0.3.*", - "nikic/php-parser": "~1.3|~2.0|~3.0", - "php": ">=5.3.9", - "symfony/console": "~2.3.10|^2.4.2|~3.0", - "symfony/var-dumper": "~2.7|~3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~1.11", - "hoa/console": "~3.16|~1.14", - "phpunit/phpunit": "~4.4|~5.0", - "symfony/finder": "~2.1|~3.0" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.9.x-dev" - } - }, - "autoload": { - "files": [ - "src/Psy/functions.php" - ], - "psr-4": { - "Psy\\": "src/Psy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com/" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org/", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "time": "2017-03-19T21:40:44+00:00" - }, - { - "name": "symfony/console", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "86407ff20855a5eaa2a7219bd815e9c40a88633e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/86407ff20855a5eaa2a7219bd815e9c40a88633e", - "reference": "86407ff20855a5eaa2a7219bd815e9c40a88633e", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/debug": "^2.7.2|~3.0.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2017-04-03T20:37:06+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", - "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "88b65f0ac25355090e524aba4ceb066025df8bd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/88b65f0ac25355090e524aba4ceb066025df8bd2", - "reference": "88b65f0ac25355090e524aba4ceb066025df8bd2", - "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": "2017-04-03T20:37:06+00:00" - }, - { - "name": "symfony/finder", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "7131327eb95d86d72039fd1216226c28f36fd02a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7131327eb95d86d72039fd1216226c28f36fd02a", - "reference": "7131327eb95d86d72039fd1216226c28f36fd02a", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2017-03-20T08:46:40+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "f8ff23ad5352f96e66c1df5468d492d2f37f3ac4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/f8ff23ad5352f96e66c1df5468d492d2f37f3ac4", - "reference": "f8ff23ad5352f96e66c1df5468d492d2f37f3ac4", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" - }, - "require-dev": { - "twig/twig": "~1.20|~2.0" - }, - "suggest": { - "ext-symfony_debug": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "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 mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com/", - "keywords": [ - "debug", - "dump" - ], - "time": "2017-03-12T16:01:59+00:00" - }, - { - "name": "symfony/yaml", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "286d84891690b0e2515874717e49360d1c98a703" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/286d84891690b0e2515874717e49360d1c98a703", - "reference": "286d84891690b0e2515874717e49360d1c98a703", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-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": "2017-03-20T09:41:44+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "time": "2015-12-17T08:42:14+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/drupal8/phpunit.xml.dist b/appengine/flexible/drupal8/phpunit.xml.dist deleted file mode 100644 index 01090eaf22..0000000000 --- a/appengine/flexible/drupal8/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - test - - - diff --git a/appengine/flexible/drupal8/test/DeployTest.php b/appengine/flexible/drupal8/test/DeployTest.php deleted file mode 100644 index 81dd98a20c..0000000000 --- a/appengine/flexible/drupal8/test/DeployTest.php +++ /dev/null @@ -1,120 +0,0 @@ -setDir($tmpDir); - } - - private static function verifyEnvironmentVariables() - { - $envVars = [ - 'GOOGLE_PROJECT_ID', - 'DRUPAL8_ADMIN_USERNAME', - 'DRUPAL8_ADMIN_PASSWORD', - 'DRUPAL8_DATABASE_HOST', - 'DRUPAL8_DATABASE_NAME', - 'DRUPAL8_DATABASE_USER', - 'DRUPAL8_DATABASE_PASS', - ]; - foreach ($envVars as $envVar) { - if (false === getenv($envVar)) { - self::markTestSkipped("Please set the ${envVar} environment variable"); - } - } - } - - private static function downloadAndInstallDrupal($targetDir) - { - $console = __DIR__ . '/../vendor/bin/drush'; - - $dbUrl = sprintf('mysql://%s:%s@%s/%s', - getenv('DRUPAL8_DATABASE_USER'), - getenv('DRUPAL8_DATABASE_PASS'), - getenv('DRUPAL8_DATABASE_HOST'), - getenv('DRUPAL8_DATABASE_NAME') - ); - - // download - self::setWorkingDirectory(dirname($targetDir)); - $downloadCmd = sprintf('%s dl drupal --drupal-project-rename=%s', - $console, - basename($targetDir)); - self::execute($downloadCmd); - - // install - self::setWorkingDirectory($targetDir); - $installCmd = sprintf('%s site-install standard ' . - '--db-url=%s --account-name=%s --account-pass=%s -y', - $console, - $dbUrl, - getenv('DRUPAL8_ADMIN_USERNAME'), - getenv('DRUPAL8_ADMIN_PASSWORD')); - $process = self::createProcess($installCmd); - $process->setTimeout(null); - self::executeProcess($process); - - // this is to fix a PHP runtime bug - // @TODO - FIX THIS!! - self::execute('rm composer.*'); - - // move the code for the sample to the new drupal installation - $files = ['app.yaml']; - foreach ($files as $file) { - $source = sprintf('%s/../%s', __DIR__, $file); - $target = sprintf('%s/%s', $targetDir, $file); - copy($source, $target); - } - } - - public function testContacts() - { - // Access the blog top page - $resp = $this->client->get('/contact'); - $this->assertEquals( - '200', - $resp->getStatusCode(), - 'top page status code' - ); - $content = $resp->getBody()->getContents(); - $this->assertContains('Website feedback', $content); - $this->assertContains('Drupal', $content); - } -} diff --git a/appengine/flexible/drupal8/test/bootstrap.php b/appengine/flexible/drupal8/test/bootstrap.php deleted file mode 100644 index ee2e3fe6e6..0000000000 --- a/appengine/flexible/drupal8/test/bootstrap.php +++ /dev/null @@ -1,19 +0,0 @@ -=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-04-12T18:52:22+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.20", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-05-22T07:42:55+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:14:56+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-05-25T23:10:31+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/885db865f6b2b918404a1fae28f9ac640f71f994", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-28T10:56:20+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/laravel/phpunit.xml.dist b/appengine/flexible/laravel/phpunit.xml.dist deleted file mode 100644 index 94774705aa..0000000000 --- a/appengine/flexible/laravel/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - test - - - diff --git a/appengine/flexible/laravel/test/DeployDatabaseSessionTest.php b/appengine/flexible/laravel/test/DeployDatabaseSessionTest.php deleted file mode 100644 index 515488617f..0000000000 --- a/appengine/flexible/laravel/test/DeployDatabaseSessionTest.php +++ /dev/null @@ -1,115 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - } - - private static function verifyEnvironmentVariables() - { - $envVars = [ - 'LARAVEL_CLOUDSQL_CONNECTION_NAME', - 'LARAVEL_DB_DATABASE', - 'LARAVEL_DB_USERNAME', - 'LARAVEL_DB_PASSWORD', - ]; - foreach ($envVars as $envVar) { - if (false === getenv($envVar)) { - self::fail("Please set the ${envVar} environment variable"); - } - } - } - - private static function createLaravelProject($targetDir) - { - // install - $laravelPackage = 'laravel/laravel'; - $cmd = sprintf('composer create-project --no-scripts %s %s', $laravelPackage, $targetDir); - $process = self::createProcess($cmd); - $process->setTimeout(300); // 5 minutes - self::executeProcess($process); - - // copy and set the proper env vars in app.yaml - $appYaml = str_replace([ - 'YOUR_APP_KEY', - 'YOUR_CLOUDSQL_CONNECTION_NAME', - 'YOUR_DB_DATABASE', - 'YOUR_DB_USERNAME', - 'YOUR_DB_PASSWORD', - ], [ - self::execute('php artisan key:generate --show --no-ansi'), - getenv('LARAVEL_CLOUDSQL_CONNECTION_NAME'), - getenv('LARAVEL_DB_DATABASE'), - getenv('LARAVEL_DB_USERNAME'), - getenv('LARAVEL_DB_PASSWORD'), - ], file_get_contents(__DIR__ . '/../app-dbsessions.yaml')); - file_put_contents($targetDir . '/app.yaml', $appYaml); - } - - private static function addPostDeployCommands($targetDir) - { - $contents = file_get_contents($targetDir . '/composer.json'); - $json = json_decode($contents, true); - $json['scripts']['post-deploy-cmd'] = [ - 'chmod -R 755 bootstrap\/cache', - 'php artisan cache:clear', - ]; - $newContents = json_encode($json, JSON_PRETTY_PRINT); - file_put_contents($targetDir . '/composer.json', $newContents); - } - - public function testHomepage() - { - // Access the blog top page - $resp = $this->client->get('/'); - $this->assertEquals( - '200', - $resp->getStatusCode(), - 'top page status code' - ); - $content = $resp->getBody()->getContents(); - $this->assertContains('Laravel', $content); - } -} diff --git a/appengine/flexible/laravel/test/DeployTest.php b/appengine/flexible/laravel/test/DeployTest.php deleted file mode 100644 index f6c89f3812..0000000000 --- a/appengine/flexible/laravel/test/DeployTest.php +++ /dev/null @@ -1,89 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - } - - private static function createLaravelProject($targetDir) - { - // install - $laravelPackage = 'laravel/laravel'; - $cmd = sprintf('composer create-project --no-scripts %s %s', $laravelPackage, $targetDir); - $process = self::createProcess($cmd); - $process->setTimeout(300); // 5 minutes - self::executeProcess($process); - - // copy in the app.yaml and add the app key. - $appYaml = str_replace([ - 'YOUR_APP_KEY', - ], [ - self::execute('php artisan key:generate --show --no-ansi'), - ], file_get_contents(__DIR__ . '/../app.yaml')); - file_put_contents($targetDir . '/app.yaml', $appYaml); - } - - private static function addPostDeployCommands($targetDir) - { - $contents = file_get_contents($targetDir . '/composer.json'); - $json = json_decode($contents, true); - $json['scripts']['post-deploy-cmd'] = [ - 'chmod -R 755 bootstrap\/cache', - 'php artisan cache:clear', - ]; - $newContents = json_encode($json, JSON_PRETTY_PRINT); - file_put_contents($targetDir . '/composer.json', $newContents); - } - - public function testHomepage() - { - // Access the blog top page - $resp = $this->client->get('/'); - $this->assertEquals( - '200', - $resp->getStatusCode(), - 'top page status code' - ); - $content = $resp->getBody()->getContents(); - $this->assertContains('Laravel', $content); - } -} diff --git a/appengine/flexible/laravel/test/bootstrap.php b/appengine/flexible/laravel/test/bootstrap.php deleted file mode 100644 index ee2e3fe6e6..0000000000 --- a/appengine/flexible/laravel/test/bootstrap.php +++ /dev/null @@ -1,19 +0,0 @@ -register(new TwigServiceProvider(), [ - 'twig.path' => __DIR__ -]); - -$app->get('/', function () use ($app) { - if (empty($app['project_id'])) { - return 'Set the GCLOUD_PROJECT environment variable to run locally'; - } - $projectId = $app['project_id']; - # [START list_entries] - $logging = new LoggingClient([ - 'projectId' => $projectId - ]); - $logger = $logging->logger('logging-sample'); - $logs = $logger->entries([ - 'pageSize' => 10, - 'orderBy' => 'timestamp desc' - ]); - # [END list_entries] - return $app['twig']->render('index.html.twig', ['logs' => $logs]); -}); - -$app->post('/log', function (Request $request) use ($app) { - $projectId = $app['project_id']; - $text = $request->get('text'); - # [START write_log] - $logging = new LoggingClient([ - 'projectId' => $projectId - ]); - $logger = $logging->psrLogger('logging-sample'); - $logger->notice($text); - # [END write_log] - return $app->redirect('/'); -}); - -// add AppEngineFlexHandler on prod -$app->register(new MonologServiceProvider()); -if (isset($_SERVER['GAE_VM']) && $_SERVER['GAE_VM'] === 'true') { - $app['monolog.handler'] = new AppEngineFlexHandler(); -} - -return $app; diff --git a/appengine/flexible/logging/app.yaml b/appengine/flexible/logging/app.yaml deleted file mode 100644 index 7ae9a2661c..0000000000 --- a/appengine/flexible/logging/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . diff --git a/appengine/flexible/logging/composer.json b/appengine/flexible/logging/composer.json deleted file mode 100644 index 2e065f1a95..0000000000 --- a/appengine/flexible/logging/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "google/cloud-logging": "^1.2", - "silex/silex": "^2.0", - "twig/twig": "^1.29" - }, - "require-dev": { - "symfony/browser-kit": "^3.2", - "google/cloud-tools": "^0.6.1" - } -} diff --git a/appengine/flexible/logging/composer.lock b/appengine/flexible/logging/composer.lock deleted file mode 100644 index a96d366e34..0000000000 --- a/appengine/flexible/logging/composer.lock +++ /dev/null @@ -1,2759 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "d2ddb101a527546a4e148868b46540b8", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-logging", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-logging.git", - "reference": "1a5f4a5b2fe418aac23bc7bb962a9a831377233b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-logging/zipball/1a5f4a5b2fe418aac23bc7bb962a9a831377233b", - "reference": "1a5f4a5b2fe418aac23bc7bb962a9a831377233b", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/gax": "Required to support gRPC", - "google/proto-client-php": "Required to support gRPC" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-logging", - "target": "GoogleCloudPlatform/google-cloud-php-logging.git", - "path": "src/Logging", - "entry": "LoggingClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Logging\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Stackdriver Logging Client for PHP", - "time": "2017-05-18T15:22:19+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "pimple/pimple", - "version": "v3.0.2", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a30f7d6e57565a2e1a316e1baf2a483f788b258a", - "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple, a simple Dependency Injection Container", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2015-09-11T15:10:35+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "silex/silex", - "version": "v2.1.0", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "d5a9d9af14a1424ddecc3da481769cf64e7d3b34" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/d5a9d9af14a1424ddecc3da481769cf64e7d3b34", - "reference": "d5a9d9af14a1424ddecc3da481769cf64e7d3b34", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "pimple/pimple": "~3.0", - "symfony/event-dispatcher": "~2.8|^3.0", - "symfony/http-foundation": "~2.8|^3.0", - "symfony/http-kernel": "~2.8|^3.0", - "symfony/routing": "~2.8|^3.0" - }, - "replace": { - "silex/api": "self.version", - "silex/providers": "self.version" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/asset": "~2.8|^3.0", - "symfony/browser-kit": "~2.8|^3.0", - "symfony/config": "~2.8|^3.0", - "symfony/css-selector": "~2.8|^3.0", - "symfony/debug": "~2.8|^3.0", - "symfony/doctrine-bridge": "~2.8|^3.0", - "symfony/dom-crawler": "~2.8|^3.0", - "symfony/expression-language": "~2.8|^3.0", - "symfony/finder": "~2.8|^3.0", - "symfony/form": "~2.8|^3.0", - "symfony/intl": "~2.8|^3.0", - "symfony/monolog-bridge": "~2.8|^3.0", - "symfony/options-resolver": "~2.8|^3.0", - "symfony/phpunit-bridge": "^3.2", - "symfony/process": "~2.8|^3.0", - "symfony/security": "~2.8|^3.0", - "symfony/serializer": "~2.8|^3.0", - "symfony/translation": "~2.8|^3.0", - "symfony/twig-bridge": "~2.8|^3.0", - "symfony/validator": "~2.8|^3.0", - "symfony/var-dumper": "~2.8|^3.0", - "symfony/web-link": "^3.3", - "twig/twig": "~1.28|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2017-05-03T15:21:42+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e9c50482841ef696e8fa1470d950a79c8921f45d", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-01T21:01:25+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "4054a102470665451108f9b59305c79176ef98f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4054a102470665451108f9b59305c79176ef98f0", - "reference": "4054a102470665451108f9b59305c79176ef98f0", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~3.3", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-04T18:15:29+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "80eb5a1f968448b77da9e8b2c0827f6e8d767846" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/80eb5a1f968448b77da9e8b2c0827f6e8d767846", - "reference": "80eb5a1f968448b77da9e8b2c0827f6e8d767846", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2017-06-05T13:06:51+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "be8280f7fa8e95b86514f1e1be997668a53b2888" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/be8280f7fa8e95b86514f1e1be997668a53b2888", - "reference": "be8280f7fa8e95b86514f1e1be997668a53b2888", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~3.3" - }, - "conflict": { - "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.3", - "symfony/var-dumper": "<3.3", - "twig/twig": "<1.34|<2.4,>=2" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~3.3", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~3.3" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2017-06-06T03:59:58+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "39804eeafea5cca851946e1eed122eb94459fdb4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/39804eeafea5cca851946e1eed122eb94459fdb4", - "reference": "39804eeafea5cca851946e1eed122eb94459fdb4", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.3", - "symfony/yaml": "<3.3" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~3.3", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~3.3" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2017-06-02T09:51:43+00:00" - }, - { - "name": "twig/twig", - "version": "v1.34.3", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "451c6f4197e113e24c1c85bc3fc8c2d77adeff2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/451c6f4197e113e24c1c85bc3fc8c2d77adeff2e", - "reference": "451c6f4197e113e24c1c85bc3fc8c2d77adeff2e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.34-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - }, - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-06-07T18:45:17+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-04-12T18:52:22+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.20", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-05-22T07:42:55+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:14:56+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-05-25T23:10:31+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/logging/index.html.twig b/appengine/flexible/logging/index.html.twig deleted file mode 100644 index 4405bfd975..0000000000 --- a/appengine/flexible/logging/index.html.twig +++ /dev/null @@ -1,17 +0,0 @@ -
- - -
- -

Logs:

- -
    -{% for log in logs %} -
  • - {{ log.info.timestamp|split('.')[0]|date('M jS, H:i')}}: - {{ log.info.jsonPayload.message }} -
  • -{% else %} -
  • No Logs!
  • -{% endfor %} -
\ No newline at end of file diff --git a/appengine/flexible/logging/index.php b/appengine/flexible/logging/index.php deleted file mode 100644 index 546488d2b2..0000000000 --- a/appengine/flexible/logging/index.php +++ /dev/null @@ -1,23 +0,0 @@ -run(); diff --git a/appengine/flexible/logging/phpunit.xml.dist b/appengine/flexible/logging/phpunit.xml.dist deleted file mode 100644 index 7ce814b9b9..0000000000 --- a/appengine/flexible/logging/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/logging/test/DeployTest.php b/appengine/flexible/logging/test/DeployTest.php deleted file mode 100644 index d81d459aa7..0000000000 --- a/appengine/flexible/logging/test/DeployTest.php +++ /dev/null @@ -1,34 +0,0 @@ -client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - - $this->assertContains("Logs:", (string) $resp->getBody()); - } -} diff --git a/appengine/flexible/logging/test/LocalTest.php b/appengine/flexible/logging/test/LocalTest.php deleted file mode 100644 index 9f36957437..0000000000 --- a/appengine/flexible/logging/test/LocalTest.php +++ /dev/null @@ -1,47 +0,0 @@ -markTestSkipped('Must set GCLOUD_PROJECT'); - } - parent::setUp(); - $this->client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - $app['project_id'] = getenv('GCLOUD_PROJECT'); - return $app; - } - - public function testSomeLogs() - { - $this->client->request('GET', '/'); - $response = $this->client->getResponse(); - $this->assertTrue($response->isOk()); - $text = $response->getContent(); - $this->assertContains("Logs:", $text); - } -} diff --git a/appengine/flexible/mailgun/README.md b/appengine/flexible/mailgun/README.md deleted file mode 100644 index ec84849f2f..0000000000 --- a/appengine/flexible/mailgun/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Mailgun PHP Sample Application for App Engine Flexible Environment. - -## Description - -This sample application demonstrates how to use [Mailgun with Google App Engine](https://cloud.google.com/appengine/docs/php/mail/). - -## Setup - -Before running this sample: - -1. You will need a [Mailgun account](http://www.mailgun.com/google). -2. Update `MAILGUN_DOMAIN` and `MAILGUN_APIKEY` in `index.php` to match your - Mailgun credentials. You can use your account's sandbox domain. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. - -## Run Locally - -``` -cd /path/to/php-docs-samples/appengine/flexible/mailgun -php -S localhost:8080 -``` - -Now browse to `http://localhost:8080` to view the sample. diff --git a/appengine/flexible/mailgun/app.php b/appengine/flexible/mailgun/app.php deleted file mode 100644 index cc7969a4a6..0000000000 --- a/appengine/flexible/mailgun/app.php +++ /dev/null @@ -1,100 +0,0 @@ -get('/', function () use ($app) { - if ($app['mailgun.domain'] == 'MAILGUN_DOMAIN') { - return 'set your mailgun domain and API key in index.php'; - } - - return << - -
- - - -
- -EOF; -}); - -$app->post('/', function () use ($app) { - /** @var Symfony\Component\HttpFoundation\Request $request */ - $request = $app['request']; - $recipient = $request->get('recipient'); - $action = $request->get('submit'); - - $app['send_message.' . $action]($recipient, $app['mailgun.domain'], $app['mailgun.api_key']); - - return ucfirst($action . ' email sent'); -}); - -$app['send_message.simple'] = $app->protect(function ( - $recipient, - $mailgunDomain, - $mailgunApiKey -) { - # [START simple_message] - // Instantiate the client. - $httpClient = new Http\Adapter\Guzzle6\Client(); - $mailgunClient = new Mailgun\Mailgun($mailgunApiKey, $httpClient); - - // Make the call to the client. - $result = $mailgunClient->sendMessage($mailgunDomain, array( - 'from' => sprintf('Example Sender ', $mailgunDomain), - 'to' => $recipient, - 'subject' => 'Hello', - 'text' => 'Testing some Mailgun awesomeness!', - )); - # [END simple_message] - return $result; -}); - -$app['send_message.complex'] = $app->protect(function ( - $recipient, - $mailgunDomain, - $mailgunApiKey, - $cc = 'cc@example.com', - $bcc = 'bcc@example.com' -) { - # [START complex_message] - // Instantiate the client. - $httpClient = new Http\Adapter\Guzzle6\Client(); - $mailgunClient = new Mailgun\Mailgun($mailgunApiKey, $httpClient); - $fileAttachment = __DIR__ . '/attachment.txt'; - - // Make the call to the client. - $result = $mailgunClient->sendMessage($mailgunDomain, array( - 'from' => sprintf('Example Sender ', $mailgunDomain), - 'to' => $recipient, - 'cc' => $cc, - 'bcc' => $bcc, - 'subject' => 'Hello', - 'text' => 'Testing some Mailgun awesomeness!', - 'html' => 'HTML version of the body', - ), array( - 'attachment' => array($fileAttachment, $fileAttachment), - )); - # [END complex_message] - return $result; -}); - -return $app; diff --git a/appengine/flexible/mailgun/app.yaml b/appengine/flexible/mailgun/app.yaml deleted file mode 100644 index 7ae9a2661c..0000000000 --- a/appengine/flexible/mailgun/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . diff --git a/appengine/flexible/mailgun/attachment.txt b/appengine/flexible/mailgun/attachment.txt deleted file mode 100644 index 41153913f0..0000000000 --- a/appengine/flexible/mailgun/attachment.txt +++ /dev/null @@ -1 +0,0 @@ -This is a mailgun attachment \ No newline at end of file diff --git a/appengine/flexible/mailgun/composer.json b/appengine/flexible/mailgun/composer.json deleted file mode 100644 index 68a1a2213f..0000000000 --- a/appengine/flexible/mailgun/composer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "mailgun/mailgun-php": "~2.0", - "php-http/guzzle6-adapter": "^1.0", - "symfony/yaml": "^3.1" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0" - } -} diff --git a/appengine/flexible/mailgun/composer.lock b/appengine/flexible/mailgun/composer.lock deleted file mode 100644 index 190cce07e6..0000000000 --- a/appengine/flexible/mailgun/composer.lock +++ /dev/null @@ -1,2873 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "bf92a77afafaf99b57db5ce4d7c549d3", - "packages": [ - { - "name": "clue/stream-filter", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/clue/php-stream-filter.git", - "reference": "e3bf9415da163d9ad6701dccb407ed501ae69785" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/e3bf9415da163d9ad6701dccb407ed501ae69785", - "reference": "e3bf9415da163d9ad6701dccb407ed501ae69785", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Clue\\StreamFilter\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@lueck.tv" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "time": "2015-11-08T23:41:30+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "mailgun/mailgun-php", - "version": "v2.1.2", - "source": { - "type": "git", - "url": "https://github.com/mailgun/mailgun-php.git", - "reference": "54b7f851b8e0241d593897dc2d50906bf4a43995" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mailgun/mailgun-php/zipball/54b7f851b8e0241d593897dc2d50906bf4a43995", - "reference": "54b7f851b8e0241d593897dc2d50906bf4a43995", - "shasum": "" - }, - "require": { - "php": "^5.5|^7.0", - "php-http/discovery": "^1.0", - "php-http/httplug": "^1.0", - "php-http/message": "^1.0", - "php-http/multipart-stream-builder": "^0.1" - }, - "require-dev": { - "php-http/guzzle6-adapter": "^1.0", - "phpunit/phpunit": "~4.6" - }, - "type": "library", - "autoload": { - "psr-0": { - "Mailgun": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Travis Swientek", - "email": "travis@mailgunhq.com" - } - ], - "description": "The Mailgun SDK provides methods for all API functions.", - "time": "2016-08-10T16:58:18+00:00" - }, - { - "name": "php-http/discovery", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "6b33475a3239439bc7ced287d0de0bb82e04d2f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/6b33475a3239439bc7ced287d0de0bb82e04d2f0", - "reference": "6b33475a3239439bc7ced287d0de0bb82e04d2f0", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^2.0.2", - "php-http/httplug": "^1.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^2.4", - "puli/composer-plugin": "1.0.0-beta10" - }, - "suggest": { - "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", - "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Finds installed HTTPlug implementations and PSR-7 message factories", - "homepage": "http://php-http.org/", - "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr7" - ], - "time": "2017-03-02T06:56:00+00:00" - }, - { - "name": "php-http/guzzle6-adapter", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/guzzle6-adapter.git", - "reference": "a56941f9dc6110409cfcddc91546ee97039277ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab", - "reference": "a56941f9dc6110409cfcddc91546ee97039277ab", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0", - "php-http/httplug": "^1.0" - }, - "provide": { - "php-http/async-client-implementation": "1.0", - "php-http/client-implementation": "1.0" - }, - "require-dev": { - "ext-curl": "*", - "php-http/adapter-integration-tests": "^0.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Adapter\\Guzzle6\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, - { - "name": "David de Boer", - "email": "david@ddeboer.nl" - } - ], - "description": "Guzzle 6 HTTP Adapter", - "homepage": "http://httplug.io/", - "keywords": [ - "Guzzle", - "http" - ], - "time": "2016-05-10T06:13:32+00:00" - }, - { - "name": "php-http/httplug", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018", - "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "php-http/promise": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io/", - "keywords": [ - "client", - "http" - ], - "time": "2016-08-31T08:30:17+00:00" - }, - { - "name": "php-http/message", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "13df8c48f40ca7925303aa336f19be4b80984f01" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/13df8c48f40ca7925303aa336f19be4b80984f01", - "reference": "13df8c48f40ca7925303aa336f19be4b80984f01", - "shasum": "" - }, - "require": { - "clue/stream-filter": "^1.3", - "php": ">=5.4", - "php-http/message-factory": "^1.0.2", - "psr/http-message": "^1.0" - }, - "require-dev": { - "akeneo/phpspec-skip-example-extension": "^1.0", - "coduo/phpspec-data-provider-extension": "^1.0", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0", - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4", - "slim/slim": "^3.0", - "zendframework/zend-diactoros": "^1.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation", - "zendframework/zend-diactoros": "Used with Diactoros Factories" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - }, - "files": [ - "src/filters.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org/", - "keywords": [ - "http", - "message", - "psr-7" - ], - "time": "2017-02-14T08:58:37+00:00" - }, - { - "name": "php-http/message-factory", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-http/message-factory.git", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Factory interfaces for PSR-7 HTTP Message", - "homepage": "http://php-http.org/", - "keywords": [ - "factory", - "http", - "message", - "stream", - "uri" - ], - "time": "2015-12-19T14:08:53+00:00" - }, - { - "name": "php-http/multipart-stream-builder", - "version": "0.1.6", - "source": { - "type": "git", - "url": "https://github.com/php-http/multipart-stream-builder.git", - "reference": "74d5ac517778ae87a065c6f4076316c35b58a777" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/74d5ac517778ae87a065c6f4076316c35b58a777", - "reference": "74d5ac517778ae87a065c6f4076316c35b58a777", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "php-http/discovery": "^1.0", - "php-http/message-factory": "^1.0.2", - "psr/http-message": "^1.0" - }, - "require-dev": { - "php-http/message": "^1.5", - "phpunit/phpunit": "^4.8 || ^5.4", - "zendframework/zend-diactoros": "^1.3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.2-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\MultipartStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "A builder class that help you create a multipart stream", - "homepage": "http://php-http.org/", - "keywords": [ - "factory", - "http", - "message", - "multipart stream", - "stream" - ], - "time": "2017-02-16T08:52:59+00:00" - }, - { - "name": "php-http/promise", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980", - "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980", - "shasum": "" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, - { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - } - ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io/", - "keywords": [ - "promise" - ], - "time": "2016-01-26T13:27:02+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/mailgun/index.php b/appengine/flexible/mailgun/index.php deleted file mode 100644 index 1fc2c34391..0000000000 --- a/appengine/flexible/mailgun/index.php +++ /dev/null @@ -1,31 +0,0 @@ -run(); diff --git a/appengine/flexible/mailgun/phpunit.xml.dist b/appengine/flexible/mailgun/phpunit.xml.dist deleted file mode 100644 index 701cf94fd5..0000000000 --- a/appengine/flexible/mailgun/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/mailgun/test/DeployTest.php b/appengine/flexible/mailgun/test/DeployTest.php deleted file mode 100644 index 31b7226a01..0000000000 --- a/appengine/flexible/mailgun/test/DeployTest.php +++ /dev/null @@ -1,74 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - - $indexPhp = file_get_contents('index.php'); - $indexPhp = str_replace( - 'MAILGUN_DOMAIN', - $mailgunDomain, - $indexPhp - ); - $indexPhp = str_replace( - 'MAILGUN_APIKEY', - $mailgunApiKey, - $indexPhp - ); - file_put_contents('index.php', $indexPhp); - } - - public function testIndex() - { - // Access the modules app top page. - $resp = $this->client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } - - public function testSendMessage() - { - $resp = $this->client->request('POST', '/', [ - 'form_params' => [ - 'recipient' => 'fake@example.com', - 'submit' => 'simple', - ] - ]); - - $this->assertEquals('200', $resp->getStatusCode(), - 'send message status code'); - } -} diff --git a/appengine/flexible/mailgun/test/bootstrap.php b/appengine/flexible/mailgun/test/bootstrap.php deleted file mode 100644 index 15d727445c..0000000000 --- a/appengine/flexible/mailgun/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ -get('/', function () use ($app) { - /** @var Mailjet\Client $mailjet */ - $mailjet = $app['mailjet']; - return << - -
- - -
- -EOF; -}); - -$app->post('/send', function () use ($app) { - /** @var Symfony\Component\HttpFoundation\Request $request */ - $request = $app['request']; - /** @var Mailjet\Client $mailjet */ - $mailjet = $app['mailjet']; - $recipient = $request->get('recipient'); - - # [START send_email] - $body = [ - 'FromEmail' => "test@example.com", - 'FromName' => "Testing Mailjet", - 'Subject' => "Your email flight plan!", - 'Text-part' => "Dear passenger, welcome to Mailjet! May the delivery force be with you!", - 'Html-part' => "

Dear passenger, welcome to Mailjet!


May the delivery force be with you!", - 'Recipients' => [ - [ - 'Email' => $recipient, - ] - ] - ]; - - // trigger the API call - $response = $mailjet->post(Mailjet\Resources::$Email, ['body' => $body]); - if ($response->success()) { - // if the call succed, data will go here - return sprintf( - '
%s
', - json_encode($response->getData(), JSON_PRETTY_PRINT) - ); - } - - return 'Error: ' . print_r($response->getStatus(), true); - # [END send_email] -}); - -$app['mailjet'] = function () use ($app) { - if ($app['mailjet.api_key'] == 'MAILJET_APIKEY') { - return 'set your mailjet api key and secret in index.php'; - } - $mailjetApiKey = $app['mailjet.api_key']; - $mailjetSecret = $app['mailjet.secret']; - - # [START mailjet_client] - $mailjet = new Mailjet\Client($mailjetApiKey, $mailjetSecret); - # [END mailjet_client] - - return $mailjet; -}; - -return $app; diff --git a/appengine/flexible/mailjet/app.yaml b/appengine/flexible/mailjet/app.yaml deleted file mode 100644 index 7ae9a2661c..0000000000 --- a/appengine/flexible/mailjet/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . diff --git a/appengine/flexible/mailjet/composer.json b/appengine/flexible/mailjet/composer.json deleted file mode 100644 index f53d7ac15c..0000000000 --- a/appengine/flexible/mailjet/composer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "mailjet/mailjet-apiv3-php": "^1.1", - "guzzlehttp/guzzle": "~6.1.0" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "paragonie/random_compat": "^2.0", - "google/cloud-tools": "^0.6" - } -} diff --git a/appengine/flexible/mailjet/composer.lock b/appengine/flexible/mailjet/composer.lock deleted file mode 100644 index aea5a99e01..0000000000 --- a/appengine/flexible/mailjet/composer.lock +++ /dev/null @@ -1,2425 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "f6ecc529fc6135a48b2c094ba9740bc0", - "packages": [ - { - "name": "guzzlehttp/guzzle", - "version": "6.1.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "~1.0", - "guzzlehttp/psr7": "~1.1", - "php": ">=5.5.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2015-11-23T00:47:50+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "mailjet/mailjet-apiv3-php", - "version": "v1.1.8", - "source": { - "type": "git", - "url": "https://github.com/mailjet/mailjet-apiv3-php.git", - "reference": "dcf05767a69ad7b9c824f148435760d97bcdead7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mailjet/mailjet-apiv3-php/zipball/dcf05767a69ad7b9c824f148435760d97bcdead7", - "reference": "dcf05767a69ad7b9c824f148435760d97bcdead7", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~6.0|~5.3", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8" - }, - "type": "library", - "autoload": { - "psr-0": { - "Mailjet": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mailjet", - "email": "dev@mailjet.com", - "homepage": "https://dev.mailjet.com/" - } - ], - "description": "PHP wrapper for the Mailjet API", - "homepage": "https://github.com/mailjet/mailjet-apiv3-php/", - "keywords": [ - "Mailjet", - "api", - "email", - "php", - "v3" - ], - "time": "2016-11-22T14:53:36+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/mailjet/index.php b/appengine/flexible/mailjet/index.php deleted file mode 100644 index 248b8b209a..0000000000 --- a/appengine/flexible/mailjet/index.php +++ /dev/null @@ -1,31 +0,0 @@ -run(); diff --git a/appengine/flexible/mailjet/phpunit.xml.dist b/appengine/flexible/mailjet/phpunit.xml.dist deleted file mode 100644 index 496e343907..0000000000 --- a/appengine/flexible/mailjet/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/mailjet/test/DeployTest.php b/appengine/flexible/mailjet/test/DeployTest.php deleted file mode 100644 index 4e464fcaca..0000000000 --- a/appengine/flexible/mailjet/test/DeployTest.php +++ /dev/null @@ -1,65 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - - $indexPhp = file_get_contents('index.php'); - $indexPhp = str_replace( - 'MAILJET_APIKEY', - getenv('MAILJET_APIKEY'), - $indexPhp - ); - $indexPhp = str_replace( - 'MAILJET_SECRET', - getenv('MAILJET_SECRET'), - $indexPhp - ); - file_put_contents('index.php', $indexPhp); - } - - public function testIndex() - { - // Access the modules app top page. - $resp = $this->client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } - - public function testSendMessage() - { - $resp = $this->client->request('POST', '/send', [ - 'form_params' => [ - 'recipient' => 'fake@example.com', - ] - ]); - - $this->assertEquals('200', $resp->getStatusCode(), - 'send message status code'); - } -} diff --git a/appengine/flexible/mailjet/test/bootstrap.php b/appengine/flexible/mailjet/test/bootstrap.php deleted file mode 100644 index 15d727445c..0000000000 --- a/appengine/flexible/mailjet/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ - hello.txt -$ curl http://{YOUR_PROJECT_ID}.appspot.com/memcached/a -# Store the value hello in /a. -$ curl http://{YOUR_PROJECT_ID}.appspot.com/memcached/a -T hello.txt -$ curl http://{YOUR_PROJECT_ID}.appspot.com/memcached/a -hello -``` - -[redis labs memcache]: https://cloud.google.com/appengine/docs/flexible/python/using-redislabs-memcache \ No newline at end of file diff --git a/appengine/flexible/memcache/app.php b/appengine/flexible/memcache/app.php deleted file mode 100644 index 87766f9c66..0000000000 --- a/appengine/flexible/memcache/app.php +++ /dev/null @@ -1,126 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; -$app['memcached'] = function () { - if (getenv('USE_GAE_MEMCACHE')) { - $host = getenv('GAE_MEMCACHE_HOST') ?: 'localhost'; - $port = getenv('GAE_MEMCACHE_PORT') ?: '11211'; - } else { - $server = getenv('MEMCACHE_SERVER') ?: 'localhost:11211'; - list($host, $port) = explode(':', $server); - } - $username = getenv('MEMCACHE_USERNAME'); - $password = getenv('MEMCACHE_PASSWORD'); - # [START memcached] - // $host = 'YOUR_MEMCACHE_HOST'; - // $port = 'YOUR_MEMCACHE_PORT'; - // $username = 'OPTIONAL_MEMCACHE_USERNAME'; - // $password = 'OPTIONAL_MEMCACHE_PASSWORD'; - $memcached = new Memcached; - if ($username && $password) { - $memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true); - $memcached->setSaslAuthData($username, $password); - } - if (!$memcached->addServer($host, $port)) { - throw new Exception("Failed to add server $host:$port"); - } - # [END memcached] - return $memcached; -}; - -$app->get('/vars', function () { - $vars = array('MEMCACHE_PORT_11211_TCP_ADDR', - 'MEMCACHE_PORT_11211_TCP_PORT'); - $lines = array(); - foreach ($vars as $var) { - $val = getenv($var); - array_push($lines, "$var = $val"); - } - return new Response( - implode("\n", $lines), - 200, - ['Content-Type' => 'text/plain']); -}); - -$app->get('/', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - /** @var Memcached $memcached */ - $memcached = $app['memcached']; - return $twig->render('memcache.html.twig', [ - 'who' => $memcached->get('who'), - 'count' => $memcached->get('count'), - 'host' => $request->getHttpHost(), - ]); -}); - -$app->post('/reset', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - /** @var Memcached $memcached */ - $memcached = $app['memcached']; - $memcached->delete('who'); - $memcached->set('count', 0); - return $twig->render('memcache.html.twig', [ - 'host' => $request->getHttpHost(), - 'count' => 0, - 'who' => '', - ]); -}); - -$app->post('/', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - /** @var Memcached $memcached */ - $memcached = $app['memcached']; - $memcached->set('who', $request->get('who')); - $count = $memcached->increment('count'); - if (false === $count) { - // Potential race condition. Use binary protocol to avoid. - $memcached->set('count', 0); - $count = 0; - } - return $twig->render('memcache.html.twig', [ - 'who' => $request->get('who'), - 'count' => $count, - 'host' => $request->getHttpHost(), - ]); -}); - -$app->get('/memcached/{key}', function (Application $app, $key) { - /** @var Memcached $memcached */ - $memcached = $app['memcached']; - return $memcached->get($key); -}); - -$app->put('/memcached/{key}', function (Application $app, $key, Request $request) { - /** @var Memcached $memcached */ - $memcached = $app['memcached']; - $value = $request->getContent(); - return $memcached->set($key, $value, time() + 600); // 10 minutes expiration -}); - -return $app; diff --git a/appengine/flexible/memcache/app.yaml b/appengine/flexible/memcache/app.yaml deleted file mode 100644 index 0d20960c9e..0000000000 --- a/appengine/flexible/memcache/app.yaml +++ /dev/null @@ -1,17 +0,0 @@ -runtime: php -vm: true - -runtime_config: - document_root: web - -# [START env_variables] -env_variables: - # If you are using the App Engine Memcache service (currently in alpha), - # uncomment this section and comment out the other Memcache variables. - # USE_GAE_MEMCACHE: 1 - MEMCACHE_SERVER: your-memcache-server - # If you are using a Memcached server with SASL authentiation enabled, - # fill in these values with your username and password. - MEMCACHE_USERNAME: "" - MEMCACHE_PASSWORD: "" -# [END env_variables] \ No newline at end of file diff --git a/appengine/flexible/memcache/composer.json b/appengine/flexible/memcache/composer.json deleted file mode 100644 index 822c4ab164..0000000000 --- a/appengine/flexible/memcache/composer.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "twig/twig": "^1.24" - }, - "require-dev": { - "gecko-packages/gecko-memcache-mock": "^2.0", - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0", - "guzzlehttp/guzzle": "^6.2", - "monolog/monolog": "^1.19", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/flexible/memcache/composer.lock b/appengine/flexible/memcache/composer.lock deleted file mode 100644 index c041e6befa..0000000000 --- a/appengine/flexible/memcache/composer.lock +++ /dev/null @@ -1,2407 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "0c303adb3d1f5fb5c3bbb18099d75058", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "gecko-packages/gecko-memcache-mock", - "version": "v2.1", - "source": { - "type": "git", - "url": "https://github.com/GeckoPackages/GeckoMemcacheMock.git", - "reference": "ee641e22d02d6f7886ce4da7d4ca5dc95e17c23a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GeckoPackages/GeckoMemcacheMock/zipball/ee641e22d02d6f7886ce4da7d4ca5dc95e17c23a", - "reference": "ee641e22d02d6f7886ce4da7d4ca5dc95e17c23a", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0", - "psr/log": "~1.0", - "symfony/stopwatch": "~2.5|~3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "GeckoPackages\\MemcacheMock\\": "src\\MemcacheMock" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Memcache mock.", - "homepage": "https://github.com/GeckoPackages", - "keywords": [ - "memcache", - "memcached", - "mock", - "test" - ], - "time": "2016-09-18T06:44:42+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-02-18T17:28:00+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/memcache/memcache.html.twig b/appengine/flexible/memcache/memcache.html.twig deleted file mode 100644 index 9817c18242..0000000000 --- a/appengine/flexible/memcache/memcache.html.twig +++ /dev/null @@ -1,33 +0,0 @@ - - -

REST Server Sample

-

A simple REST server that stores and retrieves values from memcache.

- -

GET and PUT to
- /memcached/{key} -

-

For example:

-
$ echo hello > hello.txt
-$ echo bye > bye.txt
-$ curl http://{{host}}/memcached/a
-# Store the value hello in /a.
-$ curl http://{{host}}/memcached/a -T hello.txt
-$ curl http://{{host}}/memcached/a
-hello    
-
-
-

Incrementer Sample

-

Click the button to increment a counter in memcache.
- Current count: {{ count }}
- Last incremented by: {{ who }}
-

- - - -
-
- -
- - - diff --git a/appengine/flexible/memcache/nginx-app.conf b/appengine/flexible/memcache/nginx-app.conf deleted file mode 100644 index c13edbfb3d..0000000000 --- a/appengine/flexible/memcache/nginx-app.conf +++ /dev/null @@ -1,4 +0,0 @@ -location / { - # try to serve file directly, fallback to front controller - try_files $uri /index.php$is_args$args; -} diff --git a/appengine/flexible/memcache/php.ini b/appengine/flexible/memcache/php.ini deleted file mode 100644 index 5aa0c930c0..0000000000 --- a/appengine/flexible/memcache/php.ini +++ /dev/null @@ -1,3 +0,0 @@ -; Use SASL authentication for connections -; Required for Memcache SASL Auth in the Google App Engine Flexible environemnt. -memcached.use_sasl = On \ No newline at end of file diff --git a/appengine/flexible/memcache/phpunit.xml.dist b/appengine/flexible/memcache/phpunit.xml.dist deleted file mode 100644 index 8b8325e7b6..0000000000 --- a/appengine/flexible/memcache/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/memcache/test/DeployTest.php b/appengine/flexible/memcache/test/DeployTest.php deleted file mode 100644 index de23cbf5a8..0000000000 --- a/appengine/flexible/memcache/test/DeployTest.php +++ /dev/null @@ -1,95 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - - $user = getenv('MEMCACHE_USERNAME'); - $password = getenv('MEMCACHE_PASSWORD'); - $server = getenv('MEMCACHE_SERVER'); - - if (empty($user) || empty($password) || empty($server)) { - self::markTestSkipped('Must set MEMCACHE_USERNAME, ' . - 'MEMCACHE_PASSWORD, and MEMCACHE_SERVER'); - } - - $appYaml = Yaml::parse(file_get_contents('app.yaml')); - $appYaml['env_variables']['MEMCACHE_USERNAME'] = $user; - $appYaml['env_variables']['MEMCACHE_PASSWORD'] = $password; - $appYaml['env_variables']['MEMCACHE_SERVER'] = $server; - - file_put_contents('app.yaml', Yaml::dump($appYaml)); - } - - public function testIndex() - { - // Access the modules app top page. - $resp = $this->client->get(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - - // Use a random key to avoid colliding with simultaneous tests. - $key = rand(0, 1000); - - // Test the /memcached REST API. - $this->put("/memcached/test$key", "sour"); - $this->assertEquals("sour", $this->get("/memcached/test$key")); - $this->put("/memcached/test$key", "sweet"); - $this->assertEquals("sweet", $this->get("/memcached/test$key")); - - // Make sure it handles a POST request too, which will increment the - // counter. - $resp = $this->client->post(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } - - /** - * HTTP PUTs the body to the url path. - * @param $path string - * @param $body string - */ - private function put($path, $body) - { - $url = join('/', [trim(self::$gcloudWrapper->getBaseUrl(), '/'), - trim($path, '/')]); - $request = new \GuzzleHttp\Psr7\Request('PUT', $url, array(), $body); - $this->client->send($request); - } - - /** - * HTTP GETs the url path. - * @param $path string - * @return string The HTTP Response. - */ - private function get($path) - { - return $this->client->get($path)->getBody()->getContents(); - } -} diff --git a/appengine/flexible/memcache/test/LocalTest.php b/appengine/flexible/memcache/test/LocalTest.php deleted file mode 100644 index 50ca4595f3..0000000000 --- a/appengine/flexible/memcache/test/LocalTest.php +++ /dev/null @@ -1,84 +0,0 @@ -client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - $app['memcached'] = new MemcachedMock; - $app['memcached']->addServer("localhost", 11211); - return $app; - } - - public function testIndex() - { - // Access the modules app top page. - $client = $this->client; - $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - - // Make sure it handles a POST request too, which will increment the - // counter. - $this->client->request('POST', '/'); - $this->assertTrue($this->client->getResponse()->isOk()); - } - - public function testGetAndPut() - { - // Use a random key to avoid colliding with simultaneous tests. - $key = rand(0, 1000); - - // Test the /memcached REST API. - $this->put("/memcached/test$key", "sour"); - $this->assertEquals("sour", $this->get("/memcached/test$key")); - $this->put("/memcached/test$key", "sweet"); - $this->assertEquals("sweet", $this->get("/memcached/test$key")); - } - - /** - * HTTP PUTs the body to the url path. - * @param $path string - * @param $body string - */ - private function put($path, $body) - { - $this->client->request('PUT', $path, array(), array(), array(), $body); - return $this->client->getResponse()->getContent(); - } - - /** - * HTTP GETs the url path. - * @param $path string - * @return string The HTTP Response. - */ - private function get($path) - { - $this->client->request('GET', $path); - return $this->client->getResponse()->getContent(); - } -} diff --git a/appengine/flexible/memcache/test/bootstrap.php b/appengine/flexible/memcache/test/bootstrap.php deleted file mode 100644 index be234bb16a..0000000000 --- a/appengine/flexible/memcache/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ -run(); diff --git a/appengine/flexible/metadata/README.md b/appengine/flexible/metadata/README.md deleted file mode 100644 index c2c0eb95d8..0000000000 --- a/appengine/flexible/metadata/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# Compute Metadata on App Engine Flexible Environment - -This sample application demonstrates how to access -[Compute Metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata) -from App Engine flexible environment. - -## Setup - -Before running this sample: - -### Register your application - -- Go to - [Google Developers Console](https://console.developers.google.com/project) - and create a new project. - -### Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - - ```sh - composer install - ``` - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). -- Initialize the SDK by running `gcloud init` - -## Run Locally - -This sample is designed to run in App Engine flexible environment. -This application will fail to reach the Metadata server if run locally. - -## Deploy to App Engine - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/flexible/metadata/app.php b/appengine/flexible/metadata/app.php deleted file mode 100644 index ba5800feff..0000000000 --- a/appengine/flexible/metadata/app.php +++ /dev/null @@ -1,61 +0,0 @@ -get( - 'instance/network-interfaces/0/access-configs/0/external-ip'); - - return $externalIp; -} - -function get_external_ip_using_curl() -{ - $url = 'http://metadata.google.internal/computeMetadata/v1/' . - 'instance/network-interfaces/0/access-configs/0/external-ip'; - - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Metadata-Flavor: Google')); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - return curl_exec($ch); -} -# [END metadata] - -// create the Silex application -$app = new Application(); - -$app->get('/', function () use ($app) { - if (!$externalIp = get_external_ip_using_google_cloud()) { - return 'Unable to reach Metadata server - are you running locally?'; - } - return sprintf('External IP: %s', $externalIp); -}); - -$app->get('/curl', function () use ($app) { - if (!$externalIp = get_external_ip_using_curl()) { - return 'Unable to reach Metadata server - are you running locally?'; - } - return sprintf('External IP: %s', $externalIp); -}); -# [END app] - -return $app; diff --git a/appengine/flexible/metadata/app.yaml b/appengine/flexible/metadata/app.yaml deleted file mode 100644 index 7ae9a2661c..0000000000 --- a/appengine/flexible/metadata/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . diff --git a/appengine/flexible/metadata/composer.json b/appengine/flexible/metadata/composer.json deleted file mode 100644 index f1811ab561..0000000000 --- a/appengine/flexible/metadata/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "google/cloud-core": "^1.5" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "google/cloud-tools":"^0.6" - } -} diff --git a/appengine/flexible/metadata/composer.lock b/appengine/flexible/metadata/composer.lock deleted file mode 100644 index 165eba3c45..0000000000 --- a/appengine/flexible/metadata/composer.lock +++ /dev/null @@ -1,2633 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "0050a7ea2e9f3ba438a0c0cc2d5ac2f1", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.6", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/intl": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.28|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2017-04-30T16:26:54+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e9c50482841ef696e8fa1470d950a79c8921f45d", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-01T21:01:25+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-04-12T18:52:22+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.20", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-05-22T07:42:55+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:14:56+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-05-25T23:10:31+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/metadata/index.php b/appengine/flexible/metadata/index.php deleted file mode 100644 index f7c85ebd9c..0000000000 --- a/appengine/flexible/metadata/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/flexible/metadata/phpunit.xml.dist b/appengine/flexible/metadata/phpunit.xml.dist deleted file mode 100644 index c8f0ab2f76..0000000000 --- a/appengine/flexible/metadata/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/metadata/test/DeployTest.php b/appengine/flexible/metadata/test/DeployTest.php deleted file mode 100644 index bd0a379b2a..0000000000 --- a/appengine/flexible/metadata/test/DeployTest.php +++ /dev/null @@ -1,46 +0,0 @@ -client->get('/'); - - $this->assertEquals( - '200', - $resp->getStatusCode(), - 'Top page status code should be 200'); - $this->assertRegExp('/External IP: .*/', (string) $resp->getBody()); - } - - public function testCurl() - { - $resp = $this->client->get('/curl'); - - $this->assertEquals( - '200', - $resp->getStatusCode(), - '/curl status code should be 200'); - $this->assertRegExp('/External IP: .*/', (string) $resp->getBody()); - } -} diff --git a/appengine/flexible/pubsub/README.md b/appengine/flexible/pubsub/README.md deleted file mode 100644 index a2444255f2..0000000000 --- a/appengine/flexible/pubsub/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Google PubSub PHP Sample Application for App Engine Flexible Environment. - -## Description - -This sample demonstrates how to invoke PubSub from Google App Engine Flexible -Environment. See the section **Deploy to App Engine Flexible** in [Google PubSub PHP Sample Application](../../../pubsub/app). - diff --git a/appengine/flexible/sendgrid/README.md b/appengine/flexible/sendgrid/README.md deleted file mode 100644 index a53da51cb4..0000000000 --- a/appengine/flexible/sendgrid/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# Sendgrid and Google App Engine Flexible Environment - -This sample application demonstrates how to use [Sendgrid with Google App Engine Flexible Environment](https://cloud.google.com/appengine/docs/flexible/php/sending-emails-with-sendgrid). - -## Setup - -Before running this sample: - -1. You will need a [SendGrid account](http://sendgrid.com/partner/google). -2. Update `SENDGRID_SENDER` and `SENDGRID_API_KEY` in `app.yaml` to match your - SendGrid credentials. You can use your account's sandbox domain. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Run Locally** -```sh -export SENDGRID_API_KEY=your-sendgrid-api-key -export SENDGRID_SENDER=somebody@yourdomain.com -php -S localhost:8000 -t . -``` - -**Deploy with gcloud** -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/flexible/sendgrid/app.php b/appengine/flexible/sendgrid/app.php deleted file mode 100644 index 4253715e03..0000000000 --- a/appengine/flexible/sendgrid/app.php +++ /dev/null @@ -1,59 +0,0 @@ -get('/', function () use ($app) { - return << - -
- - -
- -EOF; -}); - -$app->post('/', function (Request $request) use ($app) { - $sendgridSender = $app['sendgrid.sender']; - $sendgridApiKey = $app['sendgrid.api_key']; - $sendgridRecipient = $request->get('recipient'); - # [START send_mail] - // $sendgridApiKey = 'YOUR_SENDGRID_API_KEY'; - // $sendgridSender = 'an-email-to-send-from@example.com'; - // $sendgridRecipient = 'some-recipient@example.com'; - $sender = new SendGrid\Email(null, $sendgridSender); - $recipient = new SendGrid\Email(null, $sendgridRecipient); - $subject = 'This is a test email'; - $body = new SendGrid\Content('text/plain', 'Example text body.'); - $mail = new SendGrid\Mail($sender, $subject, $recipient, $body); - // send the email - $sendgrid = new SendGrid($sendgridApiKey); - $response = $sendgrid->client->mail()->send()->post($mail); - # [END send_mail] - if ($response->statusCode() < 200 || $response->statusCode() >= 300) { - return new Response($response->body(), $response->statusCode()); - } - return 'Email sent.'; -}); - -return $app; diff --git a/appengine/flexible/sendgrid/app.yaml b/appengine/flexible/sendgrid/app.yaml deleted file mode 100644 index a9a5a148a8..0000000000 --- a/appengine/flexible/sendgrid/app.yaml +++ /dev/null @@ -1,11 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . - -# [START env_variables] -env_variables: - SENDGRID_API_KEY: your-sendgrid-api-key - SENDGRID_SENDER: your-sendgrid-sender -# [END env_variables] diff --git a/appengine/flexible/sendgrid/composer.json b/appengine/flexible/sendgrid/composer.json deleted file mode 100644 index 9c8dcd56d8..0000000000 --- a/appengine/flexible/sendgrid/composer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "sendgrid/sendgrid": "^5.0" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0", - "symfony/browser-kit": "^3.0", - "symfony/yaml": "^3.1" - } -} diff --git a/appengine/flexible/sendgrid/composer.lock b/appengine/flexible/sendgrid/composer.lock deleted file mode 100644 index 0f5a424cbb..0000000000 --- a/appengine/flexible/sendgrid/composer.lock +++ /dev/null @@ -1,2474 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "9c46d8f4dacd5b6dd5db5eae32eb986a", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "sendgrid/php-http-client", - "version": "3.6.0", - "source": { - "type": "git", - "url": "https://github.com/sendgrid/php-http-client.git", - "reference": "f886cd3cf48bafd3c7b28b1ca5c2484f7916cff1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sendgrid/php-http-client/zipball/f886cd3cf48bafd3c7b28b1ca5c2484f7916cff1", - "reference": "f886cd3cf48bafd3c7b28b1ca5c2484f7916cff1", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "~4.4", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "SendGrid\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matt Bernier", - "email": "dx@sendgrid.com" - }, - { - "name": "Elmer Thomas", - "email": "elmer@thinkingserious.com" - } - ], - "description": "HTTP REST client, simplified for PHP", - "homepage": "http://github.com/sendgrid/php-http-client", - "keywords": [ - "api", - "fluent", - "http", - "rest", - "sendgrid" - ], - "time": "2017-03-02T05:51:19+00:00" - }, - { - "name": "sendgrid/sendgrid", - "version": "5.4.1", - "source": { - "type": "git", - "url": "https://github.com/sendgrid/sendgrid-php.git", - "reference": "9ac2aa09a4dfe3151bff2fc5f51a4bbf7aac8591" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sendgrid/sendgrid-php/zipball/9ac2aa09a4dfe3151bff2fc5f51a4bbf7aac8591", - "reference": "9ac2aa09a4dfe3151bff2fc5f51a4bbf7aac8591", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sendgrid/php-http-client": "~3.5" - }, - "replace": { - "sendgrid/sendgrid-php": "*" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "squizlabs/php_codesniffer": "2.*" - }, - "type": "library", - "autoload": { - "files": [ - "lib/SendGrid.php", - "lib/helpers/mail/Mail.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "This library allows you to quickly and easily send emails through SendGrid using PHP.", - "homepage": "http://github.com/sendgrid/sendgrid-php", - "keywords": [ - "email", - "grid", - "send", - "sendgrid" - ], - "time": "2017-04-04T18:23:00+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/sendgrid/index.php b/appengine/flexible/sendgrid/index.php deleted file mode 100644 index 6e2a2d21ff..0000000000 --- a/appengine/flexible/sendgrid/index.php +++ /dev/null @@ -1,30 +0,0 @@ -run(); diff --git a/appengine/flexible/sendgrid/phpunit.xml.dist b/appengine/flexible/sendgrid/phpunit.xml.dist deleted file mode 100644 index e1aed97978..0000000000 --- a/appengine/flexible/sendgrid/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/sendgrid/test/DeployTest.php b/appengine/flexible/sendgrid/test/DeployTest.php deleted file mode 100644 index 20e1e050c4..0000000000 --- a/appengine/flexible/sendgrid/test/DeployTest.php +++ /dev/null @@ -1,60 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - - $appYaml = Yaml::parse(file_get_contents('app.yaml')); - $appYaml['env_variables']['SENDGRID_API_KEY'] = - getenv('SENDGRID_API_KEY'); - $appYaml['env_variables']['SENDGRID_SENDER'] = - getenv('SENDGRID_SENDER'); - file_put_contents('app.yaml', Yaml::dump($appYaml)); - } - - public function testIndex() - { - // Access the modules app top page. - $resp = $this->client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } - - public function testSendMessage() - { - $resp = $this->client->request('POST', '/', [ - 'form_params' => [ - 'recipient' => 'fake@example.com', - ] - ]); - - $this->assertEquals('200', $resp->getStatusCode(), - 'send message status code'); - } -} diff --git a/appengine/flexible/sendgrid/test/LocalTest.php b/appengine/flexible/sendgrid/test/LocalTest.php deleted file mode 100644 index 893e9101b3..0000000000 --- a/appengine/flexible/sendgrid/test/LocalTest.php +++ /dev/null @@ -1,60 +0,0 @@ -markTestSkipped( - 'set the SENDGRID_SENDER and SENDGRID_API_KEY' . - 'environment variables' - ); - } - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testHome() - { - $client = $this->createClient(); - $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testSimpleEmail() - { - $client = $this->createClient(); - $client->request('POST', '/', ['recipient' => 'fake@example.com']); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('Email sent.', $response->getContent()); - } -} diff --git a/appengine/flexible/sendgrid/test/bootstrap.php b/appengine/flexible/sendgrid/test/bootstrap.php deleted file mode 100644 index 15d727445c..0000000000 --- a/appengine/flexible/sendgrid/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - return $twig->render('index.html.twig', - ['ip' => $request->getClientIps()[0]]); -}); - -return $app; diff --git a/appengine/flexible/staticcontent/app.yaml b/appengine/flexible/staticcontent/app.yaml deleted file mode 100644 index cbe07810a5..0000000000 --- a/appengine/flexible/staticcontent/app.yaml +++ /dev/null @@ -1,5 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: web \ No newline at end of file diff --git a/appengine/flexible/staticcontent/composer.json b/appengine/flexible/staticcontent/composer.json deleted file mode 100644 index 49044da6f8..0000000000 --- a/appengine/flexible/staticcontent/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "twig/twig": "^1.24" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "guzzlehttp/guzzle": "^6.2", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/flexible/staticcontent/composer.lock b/appengine/flexible/staticcontent/composer.lock deleted file mode 100644 index affdee4c67..0000000000 --- a/appengine/flexible/staticcontent/composer.lock +++ /dev/null @@ -1,2193 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "9e8e88502f4923f2001cbfc5e990e03c", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/staticcontent/index.html.twig b/appengine/flexible/staticcontent/index.html.twig deleted file mode 100644 index 5405693ad0..0000000000 --- a/appengine/flexible/staticcontent/index.html.twig +++ /dev/null @@ -1,14 +0,0 @@ - - -

Hello Static Content

-

This sample demonstrates how to serve static content with nginx, and -dynamic content with silex.

- -

Enjoy this static image of trees:

- - -

Here's a link to a static document.

- -

Your ip address is {{ ip }}.

- - diff --git a/appengine/flexible/staticcontent/phpunit.xml.dist b/appengine/flexible/staticcontent/phpunit.xml.dist deleted file mode 100644 index 1aee26a6f9..0000000000 --- a/appengine/flexible/staticcontent/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - test - - - diff --git a/appengine/flexible/staticcontent/test/DeployTest.php b/appengine/flexible/staticcontent/test/DeployTest.php deleted file mode 100644 index 6e6a6002ea..0000000000 --- a/appengine/flexible/staticcontent/test/DeployTest.php +++ /dev/null @@ -1,37 +0,0 @@ -client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - - // Access the static web page. - $resp = $this->client->get('/static.html'); - $this->assertEquals('200', $resp->getStatusCode(), - 'static page status code'); - } -} diff --git a/appengine/flexible/staticcontent/web/index.php b/appengine/flexible/staticcontent/web/index.php deleted file mode 100644 index 71f345ee80..0000000000 --- a/appengine/flexible/staticcontent/web/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/flexible/staticcontent/web/static.html b/appengine/flexible/staticcontent/web/static.html deleted file mode 100644 index 0647ec2d37..0000000000 --- a/appengine/flexible/staticcontent/web/static.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Hello Static World - - -

This is a static html document.

- - \ No newline at end of file diff --git a/appengine/flexible/staticcontent/web/trees.jpg b/appengine/flexible/staticcontent/web/trees.jpg deleted file mode 100644 index abc125f0b63380309923d5486a824b0293355b4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28727 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 Note: Your PHP executable path may be different than the one above. - -Now browse to `http://localhost:8080` to view the sample. - -## Deploy to App Engine - -**Prerequisites** - -- Set `your-bucket-name` in `app.yaml` to the name of your Cloud Storage Bucket. - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/flexible/storage/app.php b/appengine/flexible/storage/app.php deleted file mode 100644 index e2c28a8d76..0000000000 --- a/appengine/flexible/storage/app.php +++ /dev/null @@ -1,83 +0,0 @@ -get('/', function () use ($app) { - /** @var Google\Cloud\StorageClient */ - $storage = $app['storage']; - $bucketName = $app['bucket_name']; - $objectName = $app['object_name']; - $bucket = $storage->bucket($bucketName); - $object = $bucket->object($objectName); - $content = $object->exists() ? $object->downloadAsString() : ''; - $escapedContent = htmlspecialchars($content); - $form = <<Storage Example -

Write [docs]:

-
- Some file content:
-
- -
-EOF; - if ($content) { - $form .= "

Your content:

$escapedContent

"; - } - return $form; -}); - -/** - * Write to a Storage bucket. - * @see https://cloud.google.com/appengine/docs/flexible/php/using-cloud-storage - */ -$app->post('/write', function (Request $request) use ($app) { - /** @var Google\Cloud\StorageClient */ - $storage = $app['storage']; - $bucketName = $app['bucket_name']; - $objectName = $app['object_name']; - $content = $request->get('content'); - # [START write] - $metadata = ['contentType' => 'text/plain']; - $storage->bucket($bucketName)->upload($content, [ - 'name' => $objectName, - 'metadata' => $metadata, - ]); - # [END write] - return $app->redirect('/'); -}); - -$app['storage'] = function () use ($app) { - $projectId = $app['project_id']; - # [START create_client] - $storage = new StorageClient([ - 'projectId' => $projectId - ]); - # [END create_client] - return $storage; -}; -# [END app] - -return $app; diff --git a/appengine/flexible/storage/app.yaml b/appengine/flexible/storage/app.yaml deleted file mode 100644 index eafc34d324..0000000000 --- a/appengine/flexible/storage/app.yaml +++ /dev/null @@ -1,11 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . - -# [START env_variables] -env_variables: - GOOGLE_BUCKET_NAME: "your-bucket-name" -# [END env_variables] - diff --git a/appengine/flexible/storage/composer.json b/appengine/flexible/storage/composer.json deleted file mode 100644 index de27e3388e..0000000000 --- a/appengine/flexible/storage/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "google/cloud-storage": "^1.0" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "google/cloud-tools":"^0.6" - } -} diff --git a/appengine/flexible/storage/composer.lock b/appengine/flexible/storage/composer.lock deleted file mode 100644 index 0d6490b30b..0000000000 --- a/appengine/flexible/storage/composer.lock +++ /dev/null @@ -1,2671 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "0b3c5ec2ad2ea6dfb195b74bdf1c3263", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-storage", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-storage.git", - "reference": "459953f5879497fe61ffea2359bd06c801f60be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-storage/zipball/459953f5879497fe61ffea2359bd06c801f60be1", - "reference": "459953f5879497fe61ffea2359bd06c801f60be1", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-storage", - "target": "GoogleCloudPlatform/google-cloud-php-storage.git", - "path": "src/Storage", - "entry": "StorageClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Storage\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Storage Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.6", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/intl": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.28|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2017-04-30T16:26:54+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e9c50482841ef696e8fa1470d950a79c8921f45d", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-01T21:01:25+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-04-12T18:52:22+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.20", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-05-22T07:42:55+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:14:56+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-05-25T23:10:31+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/storage/index.php b/appengine/flexible/storage/index.php deleted file mode 100644 index 735513725f..0000000000 --- a/appengine/flexible/storage/index.php +++ /dev/null @@ -1,38 +0,0 @@ -<your-bucket-name> with the name of your ' - . 'cloud storage bucket in app.yaml or set it as an ' - . 'environment variable for local development.'); -} - -// Run the app! -// use "gcloud app deploy" or run locally with dev_appserver.py -$app['debug'] = true; -$app->run(); diff --git a/appengine/flexible/storage/phpunit.xml b/appengine/flexible/storage/phpunit.xml deleted file mode 100644 index d487df10e0..0000000000 --- a/appengine/flexible/storage/phpunit.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/storage/test/DeployTest.php b/appengine/flexible/storage/test/DeployTest.php deleted file mode 100644 index a61cacfec8..0000000000 --- a/appengine/flexible/storage/test/DeployTest.php +++ /dev/null @@ -1,32 +0,0 @@ -client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } -} diff --git a/appengine/flexible/storage/test/LocalTest.php b/appengine/flexible/storage/test/LocalTest.php deleted file mode 100644 index 8028174978..0000000000 --- a/appengine/flexible/storage/test/LocalTest.php +++ /dev/null @@ -1,78 +0,0 @@ -markTestSkipped('Must set GOOGLE_PROJECT_ID'); - } - if (!getenv('GOOGLE_BUCKET_NAME')) { - $this->markTestSkipped('Must set GOOGLE_BUCKET_NAME'); - } - parent::setUp(); - $this->client = $this->createClient(); - } - - public function createApplication() - { - $app = require __DIR__ . '/../app.php'; - - // set some parameters for testing - $app['session.test'] = true; - $app['debug'] = true; - - // prevent HTML error exceptions - unset($app['exception_handler']); - - // the bucket name doesn't matter because we mock the stream wrapper - $app['project_id'] = getenv('GOOGLE_PROJECT_ID'); - $app['bucket_name'] = getenv('GOOGLE_BUCKET_NAME'); - $app['object_name'] = 'hello_flex.txt'; - - return $app; - } - - public function testHome() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testWrite() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } -} diff --git a/appengine/flexible/symfony/.gitignore b/appengine/flexible/symfony/.gitignore deleted file mode 100644 index 0bc4cbd84b..0000000000 --- a/appengine/flexible/symfony/.gitignore +++ /dev/null @@ -1 +0,0 @@ -tests/symfony diff --git a/appengine/flexible/symfony/README.md b/appengine/flexible/symfony/README.md deleted file mode 100644 index 7ae6731ff0..0000000000 --- a/appengine/flexible/symfony/README.md +++ /dev/null @@ -1,56 +0,0 @@ -Symfony on App Engine Flexible Environment -========================================== - -## Overview - -This guide will help you deploy Symfony on [App Engine Flexible Environment][1] - -## Prerequisites - -Before setting up Symfony on App Engine, you will need to complete the following: - - 1. Create a [Google Cloud Platform project][2]. Note your **Project ID**, as you will need it - later. - -## Install Symfony - -Use composer to download Symfony Standard and its dependencies - -```sh -composer create-project symfony/symfony:^3.0 -``` - -## Copy over App Engine files - -For your app to deploy on App Engine Flexible, you will need to copy over some files in this -directory: - -```sh -# clone this repo somewhere -git clone https://github.com/GoogleCloudPlatform/php-docs-samples /path/to/php-docs-samples - -# copy the two files below to the root directory of your Symfony project -cd /path/to/php-docs-samples/appengine/flexible/symfony/ -cp ./{app.yaml,nginx-app.conf} /path/to/symfony -``` - -The two files needed are as follows: - - 1. [`app.yaml`](app.yaml) - The App Engine configuration for your project - 1. [`nginx-app.conf`](nginx-app.conf) - Nginx web server configuration needed for `Symfony` - -Finally, you need to have a few scripts run after your application deploys. -Add the following scripts to your project's `composer.json`: - -```json -{ - "scripts": { - "post-deploy-cmd": [ - "chmod -R ug+w $APP_DIR/var" - ] - } -} -``` - -[1]: https://cloud.google.com/appengine/docs/flexible/ -[2]: https://console.cloud.google.com diff --git a/appengine/flexible/symfony/app.yaml b/appengine/flexible/symfony/app.yaml deleted file mode 100644 index 7e74b740a0..0000000000 --- a/appengine/flexible/symfony/app.yaml +++ /dev/null @@ -1,8 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: web - -env_variables: - WHITELIST_FUNCTIONS: libxml_disable_entity_loader diff --git a/appengine/flexible/symfony/composer.json b/appengine/flexible/symfony/composer.json deleted file mode 100644 index b44b77f210..0000000000 --- a/appengine/flexible/symfony/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require-dev": { - "guzzlehttp/guzzle": "^6.2", - "monolog/monolog": "^1.19", - "symfony/console": " ~2.6.0", - "symfony/process": "^3.0", - "symfony/yaml": "^3.0", - "google/cloud-tools": "^0.6", - "paragonie/random_compat": " ^2.0" - } -} diff --git a/appengine/flexible/symfony/composer.lock b/appengine/flexible/symfony/composer.lock deleted file mode 100644 index d82d31345c..0000000000 --- a/appengine/flexible/symfony/composer.lock +++ /dev/null @@ -1,2061 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "145ee891468d1e3c9c6d976a8483dfda", - "packages": [], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/console", - "version": "v2.6.13", - "target-dir": "Symfony/Component/Console", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "0e5e18ae09d3f5c06367759be940e9ed3f568359" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0e5e18ae09d3f5c06367759be940e9ed3f568359", - "reference": "0e5e18ae09d3f5c06367759be940e9ed3f568359", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Console\\": "" - } - }, - "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": "2015-07-26T09:08:40+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/symfony/nginx-app.conf b/appengine/flexible/symfony/nginx-app.conf deleted file mode 100644 index 494b326a3e..0000000000 --- a/appengine/flexible/symfony/nginx-app.conf +++ /dev/null @@ -1,4 +0,0 @@ -location / { - # try to serve file directly, fallback to front controller - try_files $uri /app.php$is_args$args; -} diff --git a/appengine/flexible/symfony/phpunit.xml.dist b/appengine/flexible/symfony/phpunit.xml.dist deleted file mode 100644 index 0e21d0c667..0000000000 --- a/appengine/flexible/symfony/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - test - - - diff --git a/appengine/flexible/symfony/test/DeployTest.php b/appengine/flexible/symfony/test/DeployTest.php deleted file mode 100644 index 928c12f029..0000000000 --- a/appengine/flexible/symfony/test/DeployTest.php +++ /dev/null @@ -1,121 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - } - - private static function verifyEnvironmentVariables() - { - $envVars = [ - 'GOOGLE_PROJECT_ID', - 'SYMFONY_DATABASE_HOST', - 'SYMFONY_DATABASE_NAME', - 'SYMFONY_DATABASE_USER', - 'SYMFONY_DATABASE_PASS', - ]; - foreach ($envVars as $envVar) { - if (false === getenv($envVar)) { - self::fail("Please set the ${envVar} environment variable"); - } - } - } - - private static function createSymfonyProject($targetDir) - { - // install - $symfonyVersion = 'symfony/framework-standard-edition:^3.0'; - $cmd = sprintf('composer create-project --no-scripts %s %s', $symfonyVersion, $targetDir); - $process = self::createProcess($cmd); - $process->setTimeout(300); // 5 minutes - self::executeProcess($process); - - // set the config from env vars - $installFile = sprintf('%s/app/config/parameters.yml', $targetDir); - $config = Yaml::parse(file_get_contents($installFile . '.dist')); - - $configVars = [ - 'database_host' => 'SYMFONY_DATABASE_HOST', - 'database_name' => 'SYMFONY_DATABASE_NAME', - 'database_user' => 'SYMFONY_DATABASE_USER', - 'database_password' => 'SYMFONY_DATABASE_PASS', - ]; - - foreach ($configVars as $key => $name) { - $config['parameters'][$key] = getenv($name); - } - - file_put_contents($installFile, Yaml::dump($config)); - - // move the code for the sample to the new drupal installation - $files = ['app.yaml', 'nginx-app.conf']; - foreach ($files as $file) { - $source = sprintf('%s/../%s', __DIR__, $file); - $target = sprintf('%s/%s', $targetDir, $file); - copy($source, $target); - } - } - - private static function addPostBuildCommands($targetDir) - { - $contents = file_get_contents($targetDir . '/composer.json'); - $json = json_decode($contents, true); - $json['scripts']['post-deploy-cmd'] = ['chmod -R ug+w $APP_DIR/var']; - file_put_contents($targetDir . '/composer.json', json_encode($json, JSON_PRETTY_PRINT)); - } - - public function testHomepage() - { - // Access the blog top page - $resp = $this->client->get('/'); - $this->assertEquals( - '200', - $resp->getStatusCode(), - 'top page status code' - ); - $content = $resp->getBody()->getContents(); - $this->assertContains('Your application is now ready', $content); - } -} diff --git a/appengine/flexible/symfony/test/bootstrap.php b/appengine/flexible/symfony/test/bootstrap.php deleted file mode 100644 index ee2e3fe6e6..0000000000 --- a/appengine/flexible/symfony/test/bootstrap.php +++ /dev/null @@ -1,19 +0,0 @@ -post('/call/receive', function () use ($app) { - $response = new Services_Twilio_Twiml(); - $response->say('Hello from Twilio!'); - return new Response( - (string)$response, - 200, - ['Content-Type' => 'application/xml'] - ); -}); -# [END receive_call] - -# [START send_sms] -/*** - * Send an sms. - */ -$app->post('/sms/send', function (Request $request) use ($app) { - $twilio = new Services_Twilio( - $app['twilio.account_sid'], // Your Twilio Account SID - $app['twilio.auth_token'] // Your Twilio Auth Token - ); - $sms = $twilio->account->messages->sendMessage( - $app['twilio.number'], // From this number - $request->get('to'), // Send to this number - 'Hello from Twilio!' - ); - return sprintf('Message ID: %s, Message Body: %s', $sms->sid, $sms->body); -}); -# [END send_sms] - -# [START receive_sms] -/*** - * Receive an sms. - */ -$app->post('/sms/receive', function (Request $request) use ($app) { - $sender = $request->get('From'); - $body = $request->get('Body'); - $message = "Hello, $sender, you said: $body"; - $response = new Services_Twilio_Twiml(); - $response->message($message); - return new Response( - (string) $response, - 200, - ['Content-Type' => 'application/xml'] - ); -}); -# [END receive_sms] - -return $app; diff --git a/appengine/flexible/twilio/app.yaml b/appengine/flexible/twilio/app.yaml deleted file mode 100644 index 2eff3d2099..0000000000 --- a/appengine/flexible/twilio/app.yaml +++ /dev/null @@ -1,12 +0,0 @@ -runtime: php -env: flex - -runtime_config: - document_root: . - -# [START env_variables] -env_variables: - TWILIO_ACCOUNT_SID: your-account-sid - TWILIO_AUTH_TOKEN: your-auth-token - TWILIO_NUMBER: your-twilio-number -# [END env_variables] diff --git a/appengine/flexible/twilio/composer.json b/appengine/flexible/twilio/composer.json deleted file mode 100644 index f24aa96e0e..0000000000 --- a/appengine/flexible/twilio/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "twilio/sdk": "^4.10" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0", - "symfony/browser-kit": "^3.0" - } -} diff --git a/appengine/flexible/twilio/composer.lock b/appengine/flexible/twilio/composer.lock deleted file mode 100644 index ebde85b166..0000000000 --- a/appengine/flexible/twilio/composer.lock +++ /dev/null @@ -1,2426 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "ed9ce51341ee6e096042931e64359e86", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "twilio/sdk", - "version": "4.12.0", - "source": { - "type": "git", - "url": "https://github.com/twilio/twilio-php.git", - "reference": "6e4b45fc3f8b56c088dfecf4bced76c712cb6182" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twilio/twilio-php/zipball/6e4b45fc3f8b56c088dfecf4bced76c712cb6182", - "reference": "6e4b45fc3f8b56c088dfecf4bced76c712cb6182", - "shasum": "" - }, - "require": { - "php": ">=5.2.1" - }, - "require-dev": { - "mockery/mockery": ">=0.7.2", - "phpunit/phpunit": "4.5.*" - }, - "type": "library", - "autoload": { - "files": [ - "Services/Twilio.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Burke", - "email": "kevin@twilio.com" - }, - { - "name": "Kyle Conroy", - "email": "kyle+pear@twilio.com" - } - ], - "description": "A PHP wrapper for Twilio's API", - "homepage": "http://github.com/twilio/twilio-php", - "keywords": [ - "api", - "sms", - "twilio" - ], - "time": "2016-09-01T18:42:52+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/flexible/twilio/index.php b/appengine/flexible/twilio/index.php deleted file mode 100644 index 0c28f3b726..0000000000 --- a/appengine/flexible/twilio/index.php +++ /dev/null @@ -1,31 +0,0 @@ -run(); diff --git a/appengine/flexible/twilio/phpunit.xml.dist b/appengine/flexible/twilio/phpunit.xml.dist deleted file mode 100644 index 132fc7740d..0000000000 --- a/appengine/flexible/twilio/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/flexible/twilio/test/DeployTest.php b/appengine/flexible/twilio/test/DeployTest.php deleted file mode 100644 index 715a1412ac..0000000000 --- a/appengine/flexible/twilio/test/DeployTest.php +++ /dev/null @@ -1,77 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - - $appYaml = Yaml::parse(file_get_contents('app.yaml')); - $appYaml['env_variables']['TWILIO_ACCOUNT_SID'] = - getenv('TWILIO_ACCOUNT_SID'); - $appYaml['env_variables']['TWILIO_AUTH_TOKEN'] = - getenv('TWILIO_AUTH_TOKEN'); - $appYaml['env_variables']['TWILIO_NUMBER'] = - getenv('TWILIO_FROM_NUMBER') ? - getenv('TWILIO_FROM_NUMBER') : getenv('TWILIO_NUMBER'); - file_put_contents('app.yaml', Yaml::dump($appYaml)); - } - - public function testReceiveCall() - { - $response = $this->client->request('POST', '/call/receive'); - $this->assertEquals(200, $response->getStatusCode()); - $body = $response->getBody()->getContents(); - $this->assertContains('Hello from Twilio!', $body); - } - - public function testReceiveSms() - { - $params = [ - 'From' => '16505551212', - 'Body' => 'This is the best text message ever sent.' - ]; - $response = $this->client->request('POST', '/sms/receive', [ - 'form_params' => $params, - ]); - $this->assertEquals(200, $response->getStatusCode()); - $body = $response->getBody()->getContents(); - $this->assertContains($params['From'], $body); - $this->assertContains($params['Body'], $body); - } - - public function testSendSms() - { - $params = [ - 'to' => '16505551212', - ]; - $response = $this->client->request('POST', '/sms/send', [ - 'form_params' => $params, - ]); - $this->assertEquals(200, $response->getStatusCode()); - } -} diff --git a/appengine/flexible/twilio/test/LocalTest.php b/appengine/flexible/twilio/test/LocalTest.php deleted file mode 100644 index 1f32edbae6..0000000000 --- a/appengine/flexible/twilio/test/LocalTest.php +++ /dev/null @@ -1,86 +0,0 @@ -markTestSkipped( - 'set the TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN ' . - 'environment variables'); - } - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testReceiveCall() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/call/receive'); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains( - 'Hello from Twilio!', - $response->getContent() - ); - } - - public function testReceiveSms() - { - $client = $this->createClient(); - $params = [ - 'From' => '16505551212', - 'Body' => 'This is the best text message ever sent.' - ]; - $crawler = $client->request('POST', '/sms/receive', $params); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($params['From'], $response->getContent()); - $this->assertContains($params['Body'], $response->getContent()); - } - - public function testSendSms() - { - $client = $this->createClient(); - $params = [ - 'to' => '16505551212', - ]; - $crawler = $client->request('POST', '/sms/send', $params); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains('Hello from Twilio!', $response->getContent()); - } -} diff --git a/appengine/flexible/twilio/test/bootstrap.php b/appengine/flexible/twilio/test/bootstrap.php deleted file mode 100644 index 15d727445c..0000000000 --- a/appengine/flexible/twilio/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ - be sure the `MYSQL_` environment variables are appropriate for your mysql instance - -Now you can view the app running at [http://localhost:8080](http://localhost:8080) -in your browser. - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. - -## Create the MySQL Tables - -Once your application is running, browse to `/create_table` to create the required tables for this example. diff --git a/appengine/standard/cloudsql/app.php b/appengine/standard/cloudsql/app.php deleted file mode 100644 index fe69392214..0000000000 --- a/appengine/standard/cloudsql/app.php +++ /dev/null @@ -1,96 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function () use ($app) { - /** @var PDO $db */ - $db = $app['database']; - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - - // Show existing guestbook entries. - $results = $db->query('SELECT * from entries'); - - return $twig->render('cloudsql.html.twig', [ - 'results' => $results, - ]); -}); - -$app->post('/', function (Request $request) use ($app) { - /** @var PDO $db */ - $db = $app['database']; - - $name = $request->request->get('name'); - $content = $request->request->get('content'); - - if ($name && $content) { - $stmt = $db->prepare('INSERT INTO entries (guestName, content) VALUES (:name, :content)'); - $stmt->execute([ - ':name' => $name, - ':content' => $content, - ]); - } - - return $app->redirect('/'); -}); - -// function to return the PDO instance -$app['database'] = function () use ($app) { - // Connect to CloudSQL from App Engine. - $dsn = getenv('MYSQL_DSN'); - $user = getenv('MYSQL_USER'); - $password = getenv('MYSQL_PASSWORD'); - if (!isset($dsn, $user) || false === $password) { - throw new Exception('Set MYSQL_DSN, MYSQL_USER, and MYSQL_PASSWORD environment variables'); - } - - $db = new PDO($dsn, $user, $password); - - return $db; -}; -# [END all] - -$app->get('create_tables', function () use ($app) { - /** @var PDO $db */ - $db = $app['database']; - # [START create_tables] - // create the tables - $stmt = $db->prepare('CREATE TABLE IF NOT EXISTS entries (' - . 'entryID INT NOT NULL AUTO_INCREMENT, ' - . 'guestName VARCHAR(255), ' - . 'content VARCHAR(255), ' - . 'PRIMARY KEY(entryID))'); - $result = $stmt->execute(); - # [END create_tables] - - if (false === $result) { - return sprintf("Error: %s\n", $stmt->errorInfo()[2]); - } else { - return 'Tables created'; - } -}); - -return $app; diff --git a/appengine/standard/cloudsql/app.yaml b/appengine/standard/cloudsql/app.yaml deleted file mode 100644 index 7def879d86..0000000000 --- a/appengine/standard/cloudsql/app.yaml +++ /dev/null @@ -1,16 +0,0 @@ -runtime: php55 -api_version: 1 -threadsafe: true - -handlers: -- url: /.* - script: index.php - -# [START env] -env_variables: - # Replace project, instance, database, user and password with the values obtained - # when configuring your Cloud SQL instance. - MYSQL_DSN: mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=DATABASE - MYSQL_USER: root - MYSQL_PASSWORD: '' -# [END env] diff --git a/appengine/standard/cloudsql/cloudsql.html.twig b/appengine/standard/cloudsql/cloudsql.html.twig deleted file mode 100644 index 4d5654b16d..0000000000 --- a/appengine/standard/cloudsql/cloudsql.html.twig +++ /dev/null @@ -1,18 +0,0 @@ - - - {% if results %} -

Guestbook Entries

- - {% for row in results %} -
{{ row.guestName }} wrote
{{ row.content }}
- {% endfor %} - {% endif %} - -

Sign the Guestbook

-
-
Name:
-
-
-
- - diff --git a/appengine/standard/cloudsql/composer.json b/appengine/standard/cloudsql/composer.json deleted file mode 100644 index d4538cf112..0000000000 --- a/appengine/standard/cloudsql/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "symfony/twig-bridge": "~2.7|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/standard/cloudsql/composer.lock b/appengine/standard/cloudsql/composer.lock deleted file mode 100644 index ba07c59e1e..0000000000 --- a/appengine/standard/cloudsql/composer.lock +++ /dev/null @@ -1,1947 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "b604656cab4fb58db70de0d2dd307e45", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "symfony/twig-bridge", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "twig/twig": "~1.23|~2.0" - }, - "require-dev": { - "symfony/asset": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/form": "~3.0.4", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/routing": "~2.8|~3.0", - "symfony/security": "~2.8|~3.0", - "symfony/security-acl": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security": "For using the SecurityExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/templating": "For using the TwigEngine", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/yaml": "For using the YamlExtension" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Twig\\": "" - }, - "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 Twig Bridge", - "homepage": "https://symfony.com/", - "time": "2016-07-28T11:13:34+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/cloudsql/index.php b/appengine/standard/cloudsql/index.php deleted file mode 100644 index ec6bd541b4..0000000000 --- a/appengine/standard/cloudsql/index.php +++ /dev/null @@ -1,28 +0,0 @@ -run(); diff --git a/appengine/standard/cloudsql/phpunit.xml.dist b/appengine/standard/cloudsql/phpunit.xml.dist deleted file mode 100644 index 4375ab7251..0000000000 --- a/appengine/standard/cloudsql/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/cloudsql/test/LocalTest.php b/appengine/standard/cloudsql/test/LocalTest.php deleted file mode 100644 index c0ce2692cd..0000000000 --- a/appengine/standard/cloudsql/test/LocalTest.php +++ /dev/null @@ -1,79 +0,0 @@ -markTestSkipped('set the MYSQL_DSN, MYSQL_USER and MYSQL_PASSWORD environment variables'); - } - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testHome() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testSignGuestbook() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/', [ - 'name' => 'mr Skeltal', - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testCreateTables() - { - $client = $this->createClient(); - - $crawler = $client->request('get', '/create_tables'); - - $this->assertTrue($client->getResponse()->isOk()); - } -} diff --git a/appengine/standard/http/README.md b/appengine/standard/http/README.md deleted file mode 100644 index c69842d338..0000000000 --- a/appengine/standard/http/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# HTTP Requests & Google App Engine - -This sample application demonstrates how to make [HTTP Requests with Google App Engine](https://cloud.google.com/appengine/docs/php/outbound-requests). - -## Setup - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -## Deploy to App Engine - -**Run Locally** - -Run the sample with [`dev_appserver.py`](https://cloud.google.com/appengine/docs/php/tools/using-local-server): - -``` -cd /path/to/php-docs-samples/appengine/standard/http -dev_appserver.py . -``` - -Now browse to `http://localhost:8080` to view the sample. - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. - -## Using the App - -This app shows you how to make http requests in Google App Engine. To use cURL, -modify the `php.ini` file in the root of this project and uncomment one of the -valid cURL extensions. [Read our documentation] to understand the difference -between using cURL and cURLite. diff --git a/appengine/standard/http/app.php b/appengine/standard/http/app.php deleted file mode 100644 index 2f6ca26c45..0000000000 --- a/appengine/standard/http/app.php +++ /dev/null @@ -1,121 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function () use ($app) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - - return $twig->render('http.html.twig'); -}); - -$app->post('/request/file', function () use ($app) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - - # [START http_bin] - $url = 'http://httpbin.org/post?query=update'; - $data = ['data' => 'this', 'data2' => 'that']; - $headers = "accept: */*\r\n" . - "Content-Type: application/x-www-form-urlencoded\r\n" . - "Custom-Header: custom-value\r\n" . - "Custom-Header-Two: custom-value-2\r\n"; - - $context = [ - 'http' => [ - 'method' => 'POST', - 'header' => $headers, - 'content' => http_build_query($data), - ] - ]; - $context = stream_context_create($context); - $result = file_get_contents($url, false, $context); - # [END http_bin] - return $twig->render('http.html.twig', ['file_result' => $result]); -}); - -$app->post('/request/curl', function () use ($app) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - - // make sure one of the extensions is installed - if (!function_exists('curl_init')) { - throw new \Exception('You must enable cURL or cURLite in php.ini'); - } - - # [START curl_request] - $url = 'http://httpbin.org/post?query=update'; - $data = ['data' => 'this', 'data2' => 'that']; - $headers = [ - 'Accept: */*', - 'Content-Type: application/x-www-form-urlencoded', - 'Custom-Header: custom-value', - 'Custom-Header-Two: custom-value-2' - ]; - - // open connection - $ch = curl_init(); - - // set curl options - $options = [ - CURLOPT_URL => $url, - CURLOPT_POST => count($data), - CURLOPT_POSTFIELDS => http_build_query($data), - CURLOPT_HTTPHEADER => $headers, - CURLOPT_RETURNTRANSFER => true, - ]; - curl_setopt_array($ch, $options); - - // execute - $result = curl_exec($ch); - - // close connection - curl_close($ch); - # [END curl_request] - return $twig->render('http.html.twig', ['curl_result' => $result]); -}); - -$app->post('/request/guzzle', function () use ($app) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - - # [START guzzle_request] - $url = 'http://httpbin.org/post?query=update'; - $data = ['data' => 'this', 'data2' => 'that']; - $headers = [ - 'Accept' => '*/*', - 'Content-Type' => 'application/x-www-form-urlencoded', - 'Custom-Header' => 'custom-value', - 'Custom-Header-Two' => 'custom-value', - ]; - - $guzzle = new GuzzleHttp\Client; - $request = new GuzzleHttp\Psr7\Request('POST', $url, $headers, http_build_query($data)); - $result = $guzzle->send($request); - # [END guzzle_request] - - return $twig->render('http.html.twig', ['guzzle_result' => $result->getBody()]); -}); - -return $app; diff --git a/appengine/standard/http/app.yaml b/appengine/standard/http/app.yaml deleted file mode 100644 index 13482d7271..0000000000 --- a/appengine/standard/http/app.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2015 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -runtime: php55 -threadsafe: yes -api_version: 1 - -handlers: -- url: .* - script: index.php diff --git a/appengine/standard/http/composer.json b/appengine/standard/http/composer.json deleted file mode 100644 index 858619015b..0000000000 --- a/appengine/standard/http/composer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "require": { - "guzzlehttp/guzzle": "^6.2", - "silex/silex": " ^1.3", - "symfony/twig-bridge": " ~2.7|3.0.*", - "twig/twig": " ~1.8|~2.0" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/standard/http/composer.lock b/appengine/standard/http/composer.lock deleted file mode 100644 index d1701ecef6..0000000000 --- a/appengine/standard/http/composer.lock +++ /dev/null @@ -1,2175 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "7112fe652ba9693d2440fc328839610f", - "packages": [ - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "symfony/twig-bridge", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "twig/twig": "~1.23|~2.0" - }, - "require-dev": { - "symfony/asset": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/form": "~3.0.4", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/routing": "~2.8|~3.0", - "symfony/security": "~2.8|~3.0", - "symfony/security-acl": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security": "For using the SecurityExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/templating": "For using the TwigEngine", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/yaml": "For using the YamlExtension" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Twig\\": "" - }, - "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 Twig Bridge", - "homepage": "https://symfony.com/", - "time": "2016-07-28T11:13:34+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/http/http.html.twig b/appengine/standard/http/http.html.twig deleted file mode 100644 index 79d2712708..0000000000 --- a/appengine/standard/http/http.html.twig +++ /dev/null @@ -1,46 +0,0 @@ - - - - Http Example - - - -

Http Example

- -
-

Request with file_get_contents

- -
- -
- - {% if file_result is defined %} -
{{ file_result }}
- {% endif %} -
- -
-

Request with Curl

- -
- -
- - {% if curl_result is defined %} -
{{ curl_result }}
- {% endif %} -
- -
-

Request with Guzzle

- -
- -
- - {% if guzzle_result is defined %} -
{{ guzzle_result }}
- {% endif %} -
- - diff --git a/appengine/standard/http/index.php b/appengine/standard/http/index.php deleted file mode 100644 index 5f7836c2d5..0000000000 --- a/appengine/standard/http/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/standard/http/php.ini b/appengine/standard/http/php.ini deleted file mode 100644 index ffaf209f8c..0000000000 --- a/appengine/standard/http/php.ini +++ /dev/null @@ -1,11 +0,0 @@ -; App Engine Standard supports both cURL and cURLite. -; Both cannot be enabled at the same time. -; @see https://cloud.google.com/appengine/docs/php/runtime#PHP_cURL_support - -; To enable cURLite, uncomment the following line: -; -;google_app_engine.enable_curl_lite = "true" - -; To enable cURL, uncomment the following line: -; -;extension = "curl.so" diff --git a/appengine/standard/http/phpunit.xml.dist b/appengine/standard/http/phpunit.xml.dist deleted file mode 100644 index f5c6be92f0..0000000000 --- a/appengine/standard/http/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/http/test/LocalTest.php b/appengine/standard/http/test/LocalTest.php deleted file mode 100644 index db525c98e6..0000000000 --- a/appengine/standard/http/test/LocalTest.php +++ /dev/null @@ -1,99 +0,0 @@ -createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testFileRequest() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/request/file'); - - $this->assertTrue($client->getResponse()->isOk()); - - // test the regex exists - $this->assertResponse((string) $client->getResponse()); - } - - public function testCurlRequest() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/request/curl'); - - $this->assertTrue($client->getResponse()->isOk()); - - // test the regex exists - $this->assertResponse((string) $client->getResponse()); - } - - public function testGuzzleRequest() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/request/curl'); - - $this->assertTrue($client->getResponse()->isOk()); - - // test the regex exists - $this->assertResponse((string) $client->getResponse()); - } - - private function assertResponse($response) - { - $regex = '/
(.*)<\/pre>/m';
-        $response = preg_replace("/\r|\n/", '', $response);
-        $this->assertRegExp($regex, $response);
-        preg_match($regex, html_entity_decode($response), $matches);
-
-        $json = json_decode($matches[1], true);
-        $this->assertArrayHasKey('args', $json);
-        $this->assertArrayHasKey('data', $json);
-        $this->assertArrayHasKey('files', $json);
-        $this->assertArrayHasKey('headers', $json);
-        $this->assertArrayHasKey('json', $json);
-        $this->assertArrayHasKey('origin', $json);
-        $this->assertArrayHasKey('url', $json);
-
-        $this->assertArrayHasKey('Custom-Header', $json['headers']);
-        $this->assertEquals('custom-value', $json['headers']['Custom-Header']);
-    }
-}
diff --git a/appengine/standard/logging/README.md b/appengine/standard/logging/README.md
deleted file mode 100644
index 1517edd53a..0000000000
--- a/appengine/standard/logging/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Logging for App Engine (standard)
-
-This app demonstrates how to read App Engine logs. Full instructions at [https://cloud.google.com/appengine/docs/php/logs/](https://cloud.google.com/appengine/docs/php/logs/)
diff --git a/appengine/standard/logging/app.yaml b/appengine/standard/logging/app.yaml
deleted file mode 100644
index 91c837f4fb..0000000000
--- a/appengine/standard/logging/app.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-runtime: php55
-threadsafe: yes
-api_version: 1
-
-handlers:
-- url: /timeout.php
-  script: timeout.php
-- url: /syslog.php
-  script: syslog.php
-- url: /
-  script: index.php
diff --git a/appengine/standard/logging/composer.json b/appengine/standard/logging/composer.json
deleted file mode 100644
index 8c340ae142..0000000000
--- a/appengine/standard/logging/composer.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-    "require": {
-        "google/appengine-php-sdk": "^1.9"
-    },
-    "require-dev": {
-        "phpunit/phpunit": "~4"
-    }
-}
diff --git a/appengine/standard/logging/composer.lock b/appengine/standard/logging/composer.lock
deleted file mode 100644
index f3031cf463..0000000000
--- a/appengine/standard/logging/composer.lock
+++ /dev/null
@@ -1,1176 +0,0 @@
-{
-    "_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",
-        "This file is @generated automatically"
-    ],
-    "content-hash": "84b87ee8789094779ad10e5fbcca5df0",
-    "packages": [
-        {
-            "name": "google/appengine-php-sdk",
-            "version": "1.9.30",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/GoogleCloudPlatform/appengine-php-sdk.git",
-                "reference": "6bdf4bcb638782526a6969aa36528ac583cbc3da"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/GoogleCloudPlatform/appengine-php-sdk/zipball/6bdf4bcb638782526a6969aa36528ac583cbc3da",
-                "reference": "6bdf4bcb638782526a6969aa36528ac583cbc3da",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.4.0"
-            },
-            "require-dev": {
-                "mikey179/vfsstream": "~1",
-                "phpunit/phpunit": "4.6.*",
-                "satooshi/php-coveralls": "dev-master"
-            },
-            "type": "library",
-            "autoload": {
-                "files": [
-                    "google/appengine/runtime/autoloader.php"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "Apache-2.0"
-            ],
-            "description": "Google App Engine PHP SDK",
-            "homepage": "https://cloud.google.com/appengine/docs/php/",
-            "keywords": [
-                "appengine",
-                "google",
-                "sdk"
-            ],
-            "time": "2015-12-08T07:29:30+00:00"
-        }
-    ],
-    "packages-dev": [
-        {
-            "name": "doctrine/instantiator",
-            "version": "1.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/instantiator.git",
-                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
-                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3,<8.0-DEV"
-            },
-            "require-dev": {
-                "athletic/athletic": "~0.1.8",
-                "ext-pdo": "*",
-                "ext-phar": "*",
-                "phpunit/phpunit": "~4.0",
-                "squizlabs/php_codesniffer": "~2.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "http://ocramius.github.com/"
-                }
-            ],
-            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-            "homepage": "https://github.com/doctrine/instantiator",
-            "keywords": [
-                "constructor",
-                "instantiate"
-            ],
-            "time": "2015-06-14T21:17:01+00:00"
-        },
-        {
-            "name": "phpdocumentor/reflection-common",
-            "version": "1.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
-                "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
-                "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
-                "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": "2015-12-27T11:43:31+00:00"
-        },
-        {
-            "name": "phpdocumentor/reflection-docblock",
-            "version": "3.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e",
-                "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5",
-                "phpdocumentor/reflection-common": "^1.0@dev",
-                "phpdocumentor/type-resolver": "^0.2.0",
-                "webmozart/assert": "^1.0"
-            },
-            "require-dev": {
-                "mockery/mockery": "^0.9.4",
-                "phpunit/phpunit": "^4.4"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "phpDocumentor\\Reflection\\": [
-                        "src/"
-                    ]
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Mike van Riel",
-                    "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": "2016-09-30T07:12:33+00:00"
-        },
-        {
-            "name": "phpdocumentor/type-resolver",
-            "version": "0.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/TypeResolver.git",
-                "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb",
-                "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5",
-                "phpdocumentor/reflection-common": "^1.0"
-            },
-            "require-dev": {
-                "mockery/mockery": "^0.9.4",
-                "phpunit/phpunit": "^5.2||^4.8.24"
-            },
-            "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-11-25T06:54:22+00:00"
-        },
-        {
-            "name": "phpspec/prophecy",
-            "version": "v1.7.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpspec/prophecy.git",
-                "reference": "93d39f1f7f9326d746203c7c056f300f7f126073"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073",
-                "reference": "93d39f1f7f9326d746203c7c056f300f7f126073",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": "^5.3|^7.0",
-                "phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
-                "sebastian/comparator": "^1.1|^2.0",
-                "sebastian/recursion-context": "^1.0|^2.0|^3.0"
-            },
-            "require-dev": {
-                "phpspec/phpspec": "^2.5|^3.2",
-                "phpunit/phpunit": "^4.8 || ^5.6.5"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.6.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Prophecy\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com/"
-                },
-                {
-                    "name": "Marcello Duarte",
-                    "email": "marcello.duarte@gmail.com"
-                }
-            ],
-            "description": "Highly opinionated mocking framework for PHP 5.3+",
-            "homepage": "https://github.com/phpspec/prophecy",
-            "keywords": [
-                "Double",
-                "Dummy",
-                "fake",
-                "mock",
-                "spy",
-                "stub"
-            ],
-            "time": "2017-03-02T20:05:34+00:00"
-        },
-        {
-            "name": "phpunit/php-code-coverage",
-            "version": "2.2.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
-                "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
-                "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"
-            },
-            "require-dev": {
-                "ext-xdebug": ">=2.1.4",
-                "phpunit/phpunit": "~4"
-            },
-            "suggest": {
-                "ext-dom": "*",
-                "ext-xdebug": ">=2.2.1",
-                "ext-xmlwriter": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-            "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
-            ],
-            "time": "2015-10-06T15:47:00+00:00"
-        },
-        {
-            "name": "phpunit/php-file-iterator",
-            "version": "1.4.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
-                "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "time": "2016-10-03T07:40:28+00:00"
-        },
-        {
-            "name": "phpunit/php-text-template",
-            "version": "1.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "time": "2015-06-21T13:50:34+00:00"
-        },
-        {
-            "name": "phpunit/php-timer",
-            "version": "1.0.9",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
-                "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^5.3.3 || ^7.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "time": "2017-02-26T11:10:40+00:00"
-        },
-        {
-            "name": "phpunit/php-token-stream",
-            "version": "1.4.11",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-                "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7",
-                "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7",
-                "shasum": ""
-            },
-            "require": {
-                "ext-tokenizer": "*",
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Wrapper around PHP's tokenizer extension.",
-            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-            "keywords": [
-                "tokenizer"
-            ],
-            "time": "2017-02-27T10:12:30+00:00"
-        },
-        {
-            "name": "phpunit/phpunit",
-            "version": "4.8.35",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87",
-                "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87",
-                "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",
-                "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"
-            },
-            "suggest": {
-                "phpunit/php-invoker": "~1.1"
-            },
-            "bin": [
-                "phpunit"
-            ],
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.8.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": "The PHP Unit Testing framework.",
-            "homepage": "https://phpunit.de/",
-            "keywords": [
-                "phpunit",
-                "testing",
-                "xunit"
-            ],
-            "time": "2017-02-06T05:18:07+00:00"
-        },
-        {
-            "name": "phpunit/phpunit-mock-objects",
-            "version": "2.3.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
-                "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": ">=5.3.3",
-                "phpunit/php-text-template": "~1.2",
-                "sebastian/exporter": "~1.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "suggest": {
-                "ext-soap": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Mock Object library for PHPUnit",
-            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-            "keywords": [
-                "mock",
-                "xunit"
-            ],
-            "time": "2015-10-02T06:51:40+00:00"
-        },
-        {
-            "name": "sebastian/comparator",
-            "version": "1.2.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
-                "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/diff": "~1.2",
-                "sebastian/exporter": "~1.2 || ~2.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "http://www.github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "time": "2017-01-29T09:50:25+00:00"
-        },
-        {
-            "name": "sebastian/diff",
-            "version": "1.4.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
-                "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.8"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Diff implementation",
-            "homepage": "https://github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff"
-            ],
-            "time": "2015-12-08T07:14:41+00:00"
-        },
-        {
-            "name": "sebastian/environment",
-            "version": "1.3.8",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
-                "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^5.3.3 || ^7.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^4.8 || ^5.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.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 functionality to handle HHVM/PHP environments",
-            "homepage": "http://www.github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "time": "2016-08-18T05:49:44+00:00"
-        },
-        {
-            "name": "sebastian/exporter",
-            "version": "1.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
-                "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/recursion-context": "~1.0"
-            },
-            "require-dev": {
-                "ext-mbstring": "*",
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "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"
-                }
-            ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "http://www.github.com/sebastianbergmann/exporter",
-            "keywords": [
-                "export",
-                "exporter"
-            ],
-            "time": "2016-06-17T09:04:28+00:00"
-        },
-        {
-            "name": "sebastian/global-state",
-            "version": "1.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
-                "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "suggest": {
-                "ext-uopz": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Snapshotting of global state",
-            "homepage": "http://www.github.com/sebastianbergmann/global-state",
-            "keywords": [
-                "global state"
-            ],
-            "time": "2015-10-12T03:26:01+00:00"
-        },
-        {
-            "name": "sebastian/recursion-context",
-            "version": "1.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
-                "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "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": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides functionality to recursively process PHP variables",
-            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-            "time": "2016-10-03T07:41:43+00:00"
-        },
-        {
-            "name": "sebastian/version",
-            "version": "1.0.6",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "shasum": ""
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "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"
-        },
-        {
-            "name": "symfony/yaml",
-            "version": "v3.2.7",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/yaml.git",
-                "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621",
-                "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5.9"
-            },
-            "require-dev": {
-                "symfony/console": "~2.8|~3.0"
-            },
-            "suggest": {
-                "symfony/console": "For validating YAML files using the lint command"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00"
-        },
-        {
-            "name": "webmozart/assert",
-            "version": "1.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/webmozart/assert.git",
-                "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
-                "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
-                "shasum": ""
-            },
-            "require": {
-                "php": "^5.3.3 || ^7.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^4.6",
-                "sebastian/version": "^1.0.1"
-            },
-            "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": "2016-11-23T20:04:58+00:00"
-        }
-    ],
-    "aliases": [],
-    "minimum-stability": "stable",
-    "stability-flags": [],
-    "prefer-stable": false,
-    "prefer-lowest": false,
-    "platform": [],
-    "platform-dev": []
-}
diff --git a/appengine/standard/logging/index.php b/appengine/standard/logging/index.php
deleted file mode 100644
index bb55939e84..0000000000
--- a/appengine/standard/logging/index.php
+++ /dev/null
@@ -1,63 +0,0 @@
- (time() - (24 * 60 * 60)) * 1e6,
-  // End time is Now
-  'end_time' => time() * 1e6,
-  // Include all Application Logs (i.e. your debugging output)
-  'include_app_logs' => true,
-  // Filter out log records based on severity
-  'minimum_log_level' => LogService::LEVEL_INFO,
-];
-
-$logs = LogService::fetch($options);
-# [END fetch_logs]
-?>
-
-
-  

No logs!

- - - - -

REQUEST LOG

-
    -
  • IP: getIp() ?>
  • -
  • Status: getStatus() ?>
  • -
  • Method: getMethod() ?>
  • -
  • Resource: getResource() ?>
  • -
  • Date: getEndDateTime()->format('c') ?>
  • -
  • -getAppLogs() as $app_log): ?> - APP LOG -
      -
    • Message: getMessage() ?>
    • -
    • Date: getDateTime()->format('c') ?>
    • -
    - -
  • -
- - diff --git a/appengine/standard/logging/phpunit.xml.dist b/appengine/standard/logging/phpunit.xml.dist deleted file mode 100644 index 89be9d447c..0000000000 --- a/appengine/standard/logging/phpunit.xml.dist +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - test - - - - - - - - index.php - syslog.php - timeout.php - - - diff --git a/appengine/standard/logging/syslog.php b/appengine/standard/logging/syslog.php deleted file mode 100644 index b4e05123bd..0000000000 --- a/appengine/standard/logging/syslog.php +++ /dev/null @@ -1,27 +0,0 @@ -assertContains('No logs!', $result); - } - - public function testSomeLogs() - { - $log1 = $this->getMock('google\appengine\api\log\RequestLog'); - $applog1 = $this->getMock('google\appengine\api\log\AppLogLine'); - $expectedLog = [ - [ 'method' => 'getIp', 'return' => '127.0.0.1' ], - [ 'method' => 'getStatus', 'return' => 'log-status-1' ], - [ 'method' => 'getMethod', 'return' => 'log-method-1' ], - [ 'method' => 'getResource', 'return' => 'log-resource-1' ], - [ 'method' => 'getEndDateTime', 'return' => $d1 = new DateTime() ], - [ 'method' => 'getAppLogs', 'return' => [ $applog1 ] ], - ]; - $expectedAppLog = [ - [ 'method' => 'getMessage', 'return' => 'applog-message-1' ], - [ 'method' => 'getDateTime', 'return' => $d2 = new DateTime('-1 hour') ], - ]; - foreach ($expectedLog as $expected) { - $log1->expects($this->once()) - ->method($expected['method']) - ->will($this->returnValue($expected['return'])); - } - foreach ($expectedAppLog as $expected) { - $applog1->expects($this->once()) - ->method($expected['method']) - ->will($this->returnValue($expected['return'])); - } - - LogService::$logs = [ $log1 ]; - ob_start(); - include __DIR__ . '/../index.php'; - $result = ob_get_contents(); - ob_end_clean(); - - $this->assertContains('127.0.0.1', $result); - $this->assertContains('log-status-1', $result); - $this->assertContains('log-method-1', $result); - $this->assertContains('log-resource-1', $result); - $this->assertContains($d1->format('c'), $result); - $this->assertContains('applog-message-1', $result); - $this->assertContains($d2->format('c'), $result); - } - - public function testSyslog() - { - // not authorized - ob_start(); - include __DIR__ . '/../syslog.php'; - $result = ob_get_contents(); - ob_end_clean(); - - $this->assertEquals('false', $result); - - // authorized - $_GET['authorized'] = 1; - ob_start(); - include __DIR__ . '/../syslog.php'; - $result = ob_get_contents(); - ob_end_clean(); - - $this->assertEquals('true', $result); - } - - public function testTimeout() - { - global $startTime; - $startTime = time(); - - // timeout after 2 seconds - ob_start(); - include __DIR__ . '/../timeout.php'; - $result = ob_get_contents(); - ob_end_clean(); - - $this->assertEquals('Got timeout! Cleaning up...', $result); - $this->assertGreaterThan($startTime + 2, time()); - } -} diff --git a/appengine/standard/logging/test/bootstrap.php b/appengine/standard/logging/test/bootstrap.php deleted file mode 100644 index 4c42bef975..0000000000 --- a/appengine/standard/logging/test/bootstrap.php +++ /dev/null @@ -1,21 +0,0 @@ -=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/mail/handle_bounced_email.php b/appengine/standard/mail/handle_bounced_email.php deleted file mode 100644 index 12f18815dc..0000000000 --- a/appengine/standard/mail/handle_bounced_email.php +++ /dev/null @@ -1,22 +0,0 @@ -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 -$image_content_id = ''; - -// Pull in the raw file data of the image file to attach it to the message. -$image_data = file_get_contents('image.jpg'); - -try { - $message = new Message(); - $message->setSender('from@example.com'); - $message->addTo('to@example.com'); - $message->setSubject('Example email'); - $message->setTextBody('Hello, world!'); - $message->addAttachment('image.jpg', $image_data, $image_content_id); - $message->send(); - echo 'Mail Sent'; -} catch (InvalidArgumentException $e) { - echo 'There was an error'; -} -// [END all] diff --git a/appengine/standard/mail/phpunit.xml.dist b/appengine/standard/mail/phpunit.xml.dist deleted file mode 100644 index bb9acd21a1..0000000000 --- a/appengine/standard/mail/phpunit.xml.dist +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - test - - - - - - - - index.php - handle_bounced_email.php - handle_incoming_email.php - - - diff --git a/appengine/standard/mail/test/LocalTest.php b/appengine/standard/mail/test/LocalTest.php deleted file mode 100644 index 8cc10eeb18..0000000000 --- a/appengine/standard/mail/test/LocalTest.php +++ /dev/null @@ -1,52 +0,0 @@ -assertContains('Mail Sent', $result); - } - - public function testIncomingHandle() - { - $_POST["content"] = ''; - - ob_start(); - include __DIR__ . '/../handle_incoming_email.php'; - $result = ob_get_contents(); - ob_end_clean(); - - $this->assertContains('1', $result); - } - public function testBounceHandle() - { - $_POST["content"] = ''; - - ob_start(); - include __DIR__ . '/../handle_bounced_email.php'; - $result = ob_get_contents(); - ob_end_clean(); - - $this->assertContains('1', $result); - } -} diff --git a/appengine/standard/mail/test/bootstrap.php b/appengine/standard/mail/test/bootstrap.php deleted file mode 100644 index dd2838ea7c..0000000000 --- a/appengine/standard/mail/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ - $name, - 'data' => $data, - 'id' => $id, - ]; - - array_push($this->attachments, $obj); - } - - public function addTo($email) - { - array_push($this->to, $email); - } - - public function setSender($email) - { - $this->sender = $email; - } - - public function setSubject($string) - { - $this->subject = $string; - } - - public function setTextBody($string) - { - $this->textBody = $string; - } - - public function send() - { - } -} diff --git a/appengine/standard/mailgun/README.md b/appengine/standard/mailgun/README.md deleted file mode 100644 index 5576103145..0000000000 --- a/appengine/standard/mailgun/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Mailgun & Google App Engine - -This sample application demonstrates how to use [Mailgun with Google App Engine](https://cloud.google.com/appengine/docs/php/mail/). - -## Setup - -Before running this sample: - -1. You will need a [Mailgun account](http://www.mailgun.com/google). -2. Update `MAILGUN_DOMAIN` and `MAILGUN_APIKEY` in `index.php` to match your - Mailgun credentials. You can use your account's sandbox domain. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Run Locally** - -Run the sample with [`dev_appserver.py`](https://cloud.google.com/appengine/docs/php/tools/using-local-server): - -``` -cd /path/to/php-docs-samples/appengine/standard/mailgun -dev_appserver.py . -``` - -Now browse to `http://localhost:8080` to view the sample. - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/standard/mailgun/app.php b/appengine/standard/mailgun/app.php deleted file mode 100644 index 3031e3d197..0000000000 --- a/appengine/standard/mailgun/app.php +++ /dev/null @@ -1,108 +0,0 @@ -get('/', function () use ($app) { - if ($app['mailgun.domain'] == 'MAILGUN_DOMAIN') { - return 'set your mailgun domain and API key in index.php'; - } - - return << - -
- - - -
- -EOF; -}); - -$app->post('/', function () use ($app) { - /** @var Symfony\Component\HttpFoundation\Request $request */ - $request = $app['request']; - $recipient = $request->get('recipient'); - $action = $request->get('submit'); - - $app['send_message.' . $action]($recipient, $app['mailgun.domain'], $app['mailgun.api_key']); - - return ucfirst($action . ' email sent'); -}); - -$app['send_message.simple'] = $app->protect(function ( - $recipient, - $mailgunDomain, - $mailgunApiKey -) { - # [START simple_message] - // Instantiate the client. - $httpClient = new Http\Adapter\Guzzle6\Client(); - $mailgunClient = new Mailgun\Mailgun($mailgunApiKey, $httpClient); - - // Make the call to the client. - $result = $mailgunClient->sendMessage($mailgunDomain, array( - 'from' => sprintf('Example Sender ', $mailgunDomain), - 'to' => $recipient, - 'subject' => 'Hello', - 'text' => 'Testing some Mailgun awesomeness!', - )); - # [END simple_message] - return $result; -}); - -$app['send_message.complex'] = $app->protect(function ( - $recipient, - $mailgunDomain, - $mailgunApiKey, - $cc = '', - $bcc = '' -) { - # [START complex_message] - // Instantiate the client. - $httpClient = new Http\Adapter\Guzzle6\Client(); - $mailgunClient = new Mailgun\Mailgun($mailgunApiKey, $httpClient); - $fileAttachment = __DIR__ . '/attachment.txt'; - - $postData = array( - 'from' => sprintf('Example Sender ', $mailgunDomain), - 'to' => $recipient, - 'subject' => 'Hello', - 'text' => 'Testing some Mailgun awesomeness!', - 'html' => 'HTML version of the body', - ); - - if ($cc) { - $postData['cc'] = $cc; - } - - if ($bcc) { - $postData['bcc'] = $bcc; - } - - // Make the call to the client. - $result = $mailgunClient->sendMessage($mailgunDomain, $postData, array( - 'attachment' => array($fileAttachment, $fileAttachment), - )); - # [END complex_message] - return $result; -}); - -return $app; diff --git a/appengine/standard/mailgun/app.yaml b/appengine/standard/mailgun/app.yaml deleted file mode 100644 index 88af4c02e9..0000000000 --- a/appengine/standard/mailgun/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -threadsafe: yes -api_version: 1 - -handlers: -- url: .* - script: index.php diff --git a/appengine/standard/mailgun/attachment.txt b/appengine/standard/mailgun/attachment.txt deleted file mode 100644 index 41153913f0..0000000000 --- a/appengine/standard/mailgun/attachment.txt +++ /dev/null @@ -1 +0,0 @@ -This is a mailgun attachment \ No newline at end of file diff --git a/appengine/standard/mailgun/composer.json b/appengine/standard/mailgun/composer.json deleted file mode 100644 index 68a1a2213f..0000000000 --- a/appengine/standard/mailgun/composer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "mailgun/mailgun-php": "~2.0", - "php-http/guzzle6-adapter": "^1.0", - "symfony/yaml": "^3.1" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0" - } -} diff --git a/appengine/standard/mailgun/composer.lock b/appengine/standard/mailgun/composer.lock deleted file mode 100644 index 190cce07e6..0000000000 --- a/appengine/standard/mailgun/composer.lock +++ /dev/null @@ -1,2873 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "bf92a77afafaf99b57db5ce4d7c549d3", - "packages": [ - { - "name": "clue/stream-filter", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/clue/php-stream-filter.git", - "reference": "e3bf9415da163d9ad6701dccb407ed501ae69785" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/e3bf9415da163d9ad6701dccb407ed501ae69785", - "reference": "e3bf9415da163d9ad6701dccb407ed501ae69785", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Clue\\StreamFilter\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@lueck.tv" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "time": "2015-11-08T23:41:30+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "mailgun/mailgun-php", - "version": "v2.1.2", - "source": { - "type": "git", - "url": "https://github.com/mailgun/mailgun-php.git", - "reference": "54b7f851b8e0241d593897dc2d50906bf4a43995" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mailgun/mailgun-php/zipball/54b7f851b8e0241d593897dc2d50906bf4a43995", - "reference": "54b7f851b8e0241d593897dc2d50906bf4a43995", - "shasum": "" - }, - "require": { - "php": "^5.5|^7.0", - "php-http/discovery": "^1.0", - "php-http/httplug": "^1.0", - "php-http/message": "^1.0", - "php-http/multipart-stream-builder": "^0.1" - }, - "require-dev": { - "php-http/guzzle6-adapter": "^1.0", - "phpunit/phpunit": "~4.6" - }, - "type": "library", - "autoload": { - "psr-0": { - "Mailgun": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Travis Swientek", - "email": "travis@mailgunhq.com" - } - ], - "description": "The Mailgun SDK provides methods for all API functions.", - "time": "2016-08-10T16:58:18+00:00" - }, - { - "name": "php-http/discovery", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "6b33475a3239439bc7ced287d0de0bb82e04d2f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/6b33475a3239439bc7ced287d0de0bb82e04d2f0", - "reference": "6b33475a3239439bc7ced287d0de0bb82e04d2f0", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^2.0.2", - "php-http/httplug": "^1.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^2.4", - "puli/composer-plugin": "1.0.0-beta10" - }, - "suggest": { - "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", - "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Finds installed HTTPlug implementations and PSR-7 message factories", - "homepage": "http://php-http.org/", - "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr7" - ], - "time": "2017-03-02T06:56:00+00:00" - }, - { - "name": "php-http/guzzle6-adapter", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/guzzle6-adapter.git", - "reference": "a56941f9dc6110409cfcddc91546ee97039277ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab", - "reference": "a56941f9dc6110409cfcddc91546ee97039277ab", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0", - "php-http/httplug": "^1.0" - }, - "provide": { - "php-http/async-client-implementation": "1.0", - "php-http/client-implementation": "1.0" - }, - "require-dev": { - "ext-curl": "*", - "php-http/adapter-integration-tests": "^0.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Adapter\\Guzzle6\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, - { - "name": "David de Boer", - "email": "david@ddeboer.nl" - } - ], - "description": "Guzzle 6 HTTP Adapter", - "homepage": "http://httplug.io/", - "keywords": [ - "Guzzle", - "http" - ], - "time": "2016-05-10T06:13:32+00:00" - }, - { - "name": "php-http/httplug", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018", - "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "php-http/promise": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io/", - "keywords": [ - "client", - "http" - ], - "time": "2016-08-31T08:30:17+00:00" - }, - { - "name": "php-http/message", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "13df8c48f40ca7925303aa336f19be4b80984f01" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/13df8c48f40ca7925303aa336f19be4b80984f01", - "reference": "13df8c48f40ca7925303aa336f19be4b80984f01", - "shasum": "" - }, - "require": { - "clue/stream-filter": "^1.3", - "php": ">=5.4", - "php-http/message-factory": "^1.0.2", - "psr/http-message": "^1.0" - }, - "require-dev": { - "akeneo/phpspec-skip-example-extension": "^1.0", - "coduo/phpspec-data-provider-extension": "^1.0", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0", - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4", - "slim/slim": "^3.0", - "zendframework/zend-diactoros": "^1.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation", - "zendframework/zend-diactoros": "Used with Diactoros Factories" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - }, - "files": [ - "src/filters.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org/", - "keywords": [ - "http", - "message", - "psr-7" - ], - "time": "2017-02-14T08:58:37+00:00" - }, - { - "name": "php-http/message-factory", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-http/message-factory.git", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Factory interfaces for PSR-7 HTTP Message", - "homepage": "http://php-http.org/", - "keywords": [ - "factory", - "http", - "message", - "stream", - "uri" - ], - "time": "2015-12-19T14:08:53+00:00" - }, - { - "name": "php-http/multipart-stream-builder", - "version": "0.1.6", - "source": { - "type": "git", - "url": "https://github.com/php-http/multipart-stream-builder.git", - "reference": "74d5ac517778ae87a065c6f4076316c35b58a777" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/74d5ac517778ae87a065c6f4076316c35b58a777", - "reference": "74d5ac517778ae87a065c6f4076316c35b58a777", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "php-http/discovery": "^1.0", - "php-http/message-factory": "^1.0.2", - "psr/http-message": "^1.0" - }, - "require-dev": { - "php-http/message": "^1.5", - "phpunit/phpunit": "^4.8 || ^5.4", - "zendframework/zend-diactoros": "^1.3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.2-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Message\\MultipartStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - } - ], - "description": "A builder class that help you create a multipart stream", - "homepage": "http://php-http.org/", - "keywords": [ - "factory", - "http", - "message", - "multipart stream", - "stream" - ], - "time": "2017-02-16T08:52:59+00:00" - }, - { - "name": "php-http/promise", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980", - "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980", - "shasum": "" - }, - "require-dev": { - "henrikbjorn/phpspec-code-coverage": "^1.0", - "phpspec/phpspec": "^2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Http\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - }, - { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - } - ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io/", - "keywords": [ - "promise" - ], - "time": "2016-01-26T13:27:02+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/mailgun/index.php b/appengine/standard/mailgun/index.php deleted file mode 100644 index 1fc2c34391..0000000000 --- a/appengine/standard/mailgun/index.php +++ /dev/null @@ -1,31 +0,0 @@ -run(); diff --git a/appengine/standard/mailgun/phpunit.xml.dist b/appengine/standard/mailgun/phpunit.xml.dist deleted file mode 100644 index db496220aa..0000000000 --- a/appengine/standard/mailgun/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/mailgun/test/LocalTest.php b/appengine/standard/mailgun/test/LocalTest.php deleted file mode 100644 index 91ddefd340..0000000000 --- a/appengine/standard/mailgun/test/LocalTest.php +++ /dev/null @@ -1,87 +0,0 @@ -recipient = getenv('MAILGUN_RECIPIENT'); - - if (empty($mailgunDomain) || empty($mailgunApiKey) || empty($this->recipient)) { - $this->markTestSkipped('set the MAILGUN_DOMAIN, MAILGUN_APIKEY ' . - 'and MAILGUN_RECIPIENT environment variables'); - } - - $app['mailgun.domain'] = $mailgunDomain; - $app['mailgun.api_key'] = $mailgunApiKey; - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testHome() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testSimpleEmail() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/', [ - 'recipient' => $this->recipient, - 'submit' => 'simple', - ]); - - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('Simple email sent', $response->getContent()); - } - - public function testComplexEmail() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/', [ - 'recipient' => $this->recipient, - 'submit' => 'complex', - ]); - - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('Complex email sent', $response->getContent()); - } -} diff --git a/appengine/standard/mailgun/test/bootstrap.php b/appengine/standard/mailgun/test/bootstrap.php deleted file mode 100644 index 15d727445c..0000000000 --- a/appengine/standard/mailgun/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ -get('/', function () use ($app) { - /** @var Mailjet\Client $mailjet */ - $mailjet = $app['mailjet']; - return << - -
- - -
- -EOF; -}); - -$app->post('/send', function () use ($app) { - /** @var Symfony\Component\HttpFoundation\Request $request */ - $request = $app['request']; - /** @var Mailjet\Client $mailjet */ - $mailjet = $app['mailjet']; - $recipient = $request->get('recipient'); - - # [START send_email] - $body = [ - 'FromEmail' => "test@example.com", - 'FromName' => "Testing Mailjet", - 'Subject' => "Your email flight plan!", - 'Text-part' => "Dear passenger, welcome to Mailjet! May the delivery force be with you!", - 'Html-part' => "

Dear passenger, welcome to Mailjet!


May the delivery force be with you!", - 'Recipients' => [ - [ - 'Email' => $recipient, - ] - ] - ]; - - // trigger the API call - $response = $mailjet->post(Mailjet\Resources::$Email, ['body' => $body]); - if ($response->success()) { - // if the call succed, data will go here - return sprintf( - '
%s
', - json_encode($response->getData(), JSON_PRETTY_PRINT) - ); - } - - return 'Error: ' . print_r($response->getStatus(), true); - # [END send_email] -}); - -$app['mailjet'] = function () use ($app) { - if ($app['mailjet.api_key'] == 'MAILJET_APIKEY') { - return 'set your mailjet api key and secret in index.php'; - } - $mailjetApiKey = $app['mailjet.api_key']; - $mailjetSecret = $app['mailjet.secret']; - - # [START mailjet_client] - $mailjet = new Mailjet\Client($mailjetApiKey, $mailjetSecret); - # [END mailjet_client] - - return $mailjet; -}; - -return $app; diff --git a/appengine/standard/mailjet/app.yaml b/appengine/standard/mailjet/app.yaml deleted file mode 100644 index 88af4c02e9..0000000000 --- a/appengine/standard/mailjet/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -threadsafe: yes -api_version: 1 - -handlers: -- url: .* - script: index.php diff --git a/appengine/standard/mailjet/composer.json b/appengine/standard/mailjet/composer.json deleted file mode 100644 index f53d7ac15c..0000000000 --- a/appengine/standard/mailjet/composer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "mailjet/mailjet-apiv3-php": "^1.1", - "guzzlehttp/guzzle": "~6.1.0" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "paragonie/random_compat": "^2.0", - "google/cloud-tools": "^0.6" - } -} diff --git a/appengine/standard/mailjet/composer.lock b/appengine/standard/mailjet/composer.lock deleted file mode 100644 index aea5a99e01..0000000000 --- a/appengine/standard/mailjet/composer.lock +++ /dev/null @@ -1,2425 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "f6ecc529fc6135a48b2c094ba9740bc0", - "packages": [ - { - "name": "guzzlehttp/guzzle", - "version": "6.1.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/c6851d6e48f63b69357cbfa55bca116448140e0c", - "reference": "c6851d6e48f63b69357cbfa55bca116448140e0c", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "~1.0", - "guzzlehttp/psr7": "~1.1", - "php": ">=5.5.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2015-11-23T00:47:50+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "mailjet/mailjet-apiv3-php", - "version": "v1.1.8", - "source": { - "type": "git", - "url": "https://github.com/mailjet/mailjet-apiv3-php.git", - "reference": "dcf05767a69ad7b9c824f148435760d97bcdead7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mailjet/mailjet-apiv3-php/zipball/dcf05767a69ad7b9c824f148435760d97bcdead7", - "reference": "dcf05767a69ad7b9c824f148435760d97bcdead7", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~6.0|~5.3", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8" - }, - "type": "library", - "autoload": { - "psr-0": { - "Mailjet": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mailjet", - "email": "dev@mailjet.com", - "homepage": "https://dev.mailjet.com/" - } - ], - "description": "PHP wrapper for the Mailjet API", - "homepage": "https://github.com/mailjet/mailjet-apiv3-php/", - "keywords": [ - "Mailjet", - "api", - "email", - "php", - "v3" - ], - "time": "2016-11-22T14:53:36+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2017-01-26T22:05:40+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" - }, - "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-xdebug": "^2.5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2017-04-02T07:44:40+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "5.7.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "reference": "69c4f49ff376af2692bad9cebd883d17ebaa98a1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "~1.2", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.7.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-04-03T02:22:27+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2016-12-08T20:27:08+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", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-11-26T07:53:53+00:00" - }, - { - "name": "sebastian/exporter", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-11-19T08:54:04+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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-02-18T15:18:39+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+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": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "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/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/mailjet/index.php b/appengine/standard/mailjet/index.php deleted file mode 100644 index 248b8b209a..0000000000 --- a/appengine/standard/mailjet/index.php +++ /dev/null @@ -1,31 +0,0 @@ -run(); diff --git a/appengine/standard/mailjet/phpunit.xml.dist b/appengine/standard/mailjet/phpunit.xml.dist deleted file mode 100644 index 496e343907..0000000000 --- a/appengine/standard/mailjet/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/mailjet/test/LocalTest.php b/appengine/standard/mailjet/test/LocalTest.php deleted file mode 100644 index 50e04ca4e9..0000000000 --- a/appengine/standard/mailjet/test/LocalTest.php +++ /dev/null @@ -1,69 +0,0 @@ -markTestSkipped('set the MAILJET_APIKEY and MAILJET_SECRET environment variables'); - } - - $app['mailjet.api_key'] = $mailjetApiKey; - $app['mailjet.secret'] = $mailjetSecret; - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testHome() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testSendEmail() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/send', [ - 'recipient' => 'fake@example.com', - ]); - - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains('"Sent"', $response->getContent()); - $this->assertContains('"fake@example.com"', $response->getContent()); - } -} diff --git a/appengine/standard/mailjet/test/bootstrap.php b/appengine/standard/mailjet/test/bootstrap.php deleted file mode 100644 index 15d727445c..0000000000 --- a/appengine/standard/mailjet/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ - hello.txt -$ echo bye > bye.txt -$ curl http://{YOUR_PROJECT_ID}.appspot.com/memcache/a -# Store the value hello in /a. -$ curl http://{YOUR_PROJECT_ID}.appspot.com/memcache/a -T hello.txt -$ curl http://{YOUR_PROJECT_ID}.appspot.com/memcache/a -hello -``` \ No newline at end of file diff --git a/appengine/standard/memcache/app.php b/appengine/standard/memcache/app.php deleted file mode 100644 index bcd557e818..0000000000 --- a/appengine/standard/memcache/app.php +++ /dev/null @@ -1,83 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - $memcache = new Memcached; - return $twig->render('memcache.html.twig', [ - 'who' => $memcache->get('who'), - 'count' => $memcache->get('count'), - 'host' => $request->getHost(), - ]); -}); - -$app->post('/', function (Application $app, Request $request) { - /** @var Twig_Environment $twig */ - $twig = $app['twig']; - # [START who_count] - $memcache = new Memcached; - $memcache->set('who', $request->get('who')); - return $twig->render('memcache.html.twig', [ - 'who' => $request->get('who'), - 'count' => $memcache->increment('count', 1, 0), - 'host' => $request->getHost(), - ]); - # [END who_count] -}); - -// Simple HTTP GET and PUT operators. -$app->get('/memcache/{key}', function ($key) { - # [START memcache_get] - $memcache = new Memcache; - return $memcache->get($key); - # [END memcache_get] -}); - -$app->put('/memcache/{key}', function ($key, Request $request) { - # [START memcache_put] - $memcache = new Memcache; - $value = $request->getContent(); - return $memcache->set($key, $value); - # [END memcache_put] -}); - -$app->get('/memcached/{key}', function ($key) { - # [START memcached_get] - $memcache = new Memcached; - return $memcache->get($key); - # [END memcached_get] -}); - -$app->put('/memcached/{key}', function ($key, Request $request) { - # [START memcached_put] - $memcache = new Memcached; - $value = $request->getContent(); - return $memcache->set($key, $value); - # [END memcached_put] -}); - -return $app; diff --git a/appengine/standard/memcache/app.yaml b/appengine/standard/memcache/app.yaml deleted file mode 100644 index 88af4c02e9..0000000000 --- a/appengine/standard/memcache/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -threadsafe: yes -api_version: 1 - -handlers: -- url: .* - script: index.php diff --git a/appengine/standard/memcache/composer.json b/appengine/standard/memcache/composer.json deleted file mode 100644 index 5786ea3311..0000000000 --- a/appengine/standard/memcache/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "twig/twig": "^1.24" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "phpunit/phpunit": "~4", - "symfony/browser-kit": "^3.0" - } -} diff --git a/appengine/standard/memcache/composer.lock b/appengine/standard/memcache/composer.lock deleted file mode 100644 index 3d8bfeb25e..0000000000 --- a/appengine/standard/memcache/composer.lock +++ /dev/null @@ -1,2193 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "2f457dac039d2cb90a6177460583324c", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/memcache/index.php b/appengine/standard/memcache/index.php deleted file mode 100644 index d9125f5540..0000000000 --- a/appengine/standard/memcache/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/standard/memcache/memcache.html.twig b/appengine/standard/memcache/memcache.html.twig deleted file mode 100644 index 2b843f1119..0000000000 --- a/appengine/standard/memcache/memcache.html.twig +++ /dev/null @@ -1,30 +0,0 @@ - - -

REST Server Sample

-

A simple REST server that stores and retrieves values from memcache.

- -

GET and PUT to
- /memcache/{key}
- /memcached/{key} -

-

For example:

-
$ echo hello > hello.txt
-$ echo bye > bye.txt
-$ curl http://{{host}}/memcache/a
-# Store the value hello in /a.
-$ curl http://{{host}}/memcache/a -T hello.txt
-$ curl http://{{host}}/memcache/a
-hello    
-
-
-

Incrementer Sample

-

Click the button to increment a counter in memcache.
- Current count: {{ count }}
- Last incremented by: {{ who }}
-

- - - -
- - diff --git a/appengine/standard/memcache/phpunit.xml.dist b/appengine/standard/memcache/phpunit.xml.dist deleted file mode 100644 index 726c8f3807..0000000000 --- a/appengine/standard/memcache/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - test - - - diff --git a/appengine/standard/memcache/test/DeployTest.php b/appengine/standard/memcache/test/DeployTest.php deleted file mode 100644 index 959fbdaad8..0000000000 --- a/appengine/standard/memcache/test/DeployTest.php +++ /dev/null @@ -1,76 +0,0 @@ -client->get(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - - // Use a random key to avoid colliding with simultaneous tests. - $key = rand(0, 1000); - - // Test the /memcache REST API. - $this->put("/memcache/test$key", "sour"); - $this->assertEquals("sour", $this->get("/memcache/test$key")); - $this->put("/memcache/test$key", "sweet"); - $this->assertEquals("sweet", $this->get("/memcache/test$key")); - - // Test the /memcached REST API. - $this->put("/memcached/test$key", "sour"); - $this->assertEquals("sour", $this->get("/memcached/test$key")); - $this->put("/memcached/test$key", "sweet"); - $this->assertEquals("sweet", $this->get("/memcached/test$key")); - - // Make sure it handles a POST request too, which will increment the - // counter. - $resp = $this->client->post(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } - - /** - * HTTP PUTs the body to the url path. - * @param $path string - * @param $body string - */ - private function put($path, $body) - { - $url = join('/', [trim(self::$gcloudWrapper->getLocalBaseUrl(), '/'), - trim($path, '/')]); - $request = new \GuzzleHttp\Psr7\Request('PUT', $url, array(), $body); - $this->client->send($request); - } - - /** - * HTTP GETs the url path. - * @param $path string - * @return string The HTTP Response. - */ - private function get($path) - { - return $this->client->get($path)->getBody()->getContents(); - } -} diff --git a/appengine/standard/modules/README.md b/appengine/standard/modules/README.md deleted file mode 100644 index ffdd73ab65..0000000000 --- a/appengine/standard/modules/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Google App Engine Modules API - -This sample application demonstrates how to use Google App Engine's -modules API. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy app.yaml backend.yaml -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/standard/modules/app.php b/appengine/standard/modules/app.php deleted file mode 100644 index 4de04f1b4e..0000000000 --- a/appengine/standard/modules/app.php +++ /dev/null @@ -1,44 +0,0 @@ -get('/', function () use ($app) { - // [START simple_methods] - $module = ModulesService::getCurrentModuleName(); - $instance = ModulesService::getCurrentInstanceId(); - // [END simple_methods] - return "$module:$instance"; -}); - -$app->get('/access_backend', function () use ($app) { - // [START access_another_module] - $url = 'http://' . ModulesService::getHostname('my-backend') . '/'; - $result = file_get_contents($url); - // [END access_another_module] - return $result; -}); - -return $app; diff --git a/appengine/standard/modules/app.yaml b/appengine/standard/modules/app.yaml deleted file mode 100644 index 1cb1f6aa1b..0000000000 --- a/appengine/standard/modules/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -threadsafe: yes -api_version: 1 - -handlers: -- url: /.* - script: index.php diff --git a/appengine/standard/modules/backend.php b/appengine/standard/modules/backend.php deleted file mode 100644 index cdc7010674..0000000000 --- a/appengine/standard/modules/backend.php +++ /dev/null @@ -1,22 +0,0 @@ -=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/modules/index.php b/appengine/standard/modules/index.php deleted file mode 100644 index bf95d13ae9..0000000000 --- a/appengine/standard/modules/index.php +++ /dev/null @@ -1,28 +0,0 @@ -run(); diff --git a/appengine/standard/modules/phpunit.xml.dist b/appengine/standard/modules/phpunit.xml.dist deleted file mode 100644 index 18ebf8ded5..0000000000 --- a/appengine/standard/modules/phpunit.xml.dist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/modules/test/bootstrap.php b/appengine/standard/modules/test/bootstrap.php deleted file mode 100644 index c83865c19b..0000000000 --- a/appengine/standard/modules/test/bootstrap.php +++ /dev/null @@ -1,21 +0,0 @@ -client->get(''); - } catch (\GuzzleHttp\Exception\ServerException $e) { - $this->fail($e->getResponse()->getBody()); - } - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - $this->assertContains( - 'default:', - $resp->getBody()->getContents()); - } - - public function testAccessBackEnd() - { - // Access the '/access_backend' - try { - $resp = $this->client->get('/access_backend'); - } catch (\GuzzleHttp\Exception\ServerException $e) { - $this->fail($e->getResponse()->getBody()); - } - $this->assertEquals('200', $resp->getStatusCode(), - '/access_backend status code'); - $this->assertContains( - 'This is my backend.', - $resp->getBody()->getContents()); - } -} diff --git a/appengine/standard/modules/test/unit/ModulesApiTest.php b/appengine/standard/modules/test/unit/ModulesApiTest.php deleted file mode 100644 index de7e9e6101..0000000000 --- a/appengine/standard/modules/test/unit/ModulesApiTest.php +++ /dev/null @@ -1,61 +0,0 @@ -createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - $module . ':' . $instance, - $client->getResponse()->getContent()); - } - - public function testAccessBackend() - { - // Set hostname - $hostname = 'myhost.example.com'; - ModulesService::$hostname = $hostname; - $client = $this->createClient(); - - $crawler = $client->request('GET', '/access_backend'); - - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains($hostname, $client->getResponse()->getContent()); - } -} diff --git a/appengine/standard/modules/test/unit/mocks/Functions.php b/appengine/standard/modules/test/unit/mocks/Functions.php deleted file mode 100644 index 2f6991d52b..0000000000 --- a/appengine/standard/modules/test/unit/mocks/Functions.php +++ /dev/null @@ -1,26 +0,0 @@ -=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "8827db04bcd8d9b9bf3114ea41081d8036ab209c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/8827db04bcd8d9b9bf3114ea41081d8036ab209c", - "reference": "8827db04bcd8d9b9bf3114ea41081d8036ab209c", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/dom-crawler": "~2.1|~3.0.0" - }, - "require-dev": { - "symfony/css-selector": "^2.0.5|~3.0.0", - "symfony/process": "~2.3.34|^2.7.6|~3.0.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T08:33:48+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970", - "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/phpmyadmin/config.inc.php b/appengine/standard/phpmyadmin/config.inc.php deleted file mode 100644 index 6ec55a73a1..0000000000 --- a/appengine/standard/phpmyadmin/config.inc.php +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - test - - - diff --git a/appengine/standard/phpmyadmin/test/DeployTest.php b/appengine/standard/phpmyadmin/test/DeployTest.php deleted file mode 100644 index 07433e8c59..0000000000 --- a/appengine/standard/phpmyadmin/test/DeployTest.php +++ /dev/null @@ -1,194 +0,0 @@ - extractTo($tmp, null, true); - rename($tmp . DIRECTORY_SEPARATOR . $tmpdir, $dir); - unlink($file); - } - - private function copyFiles($files, $params) - { - $loader = new \Twig_Loader_Filesystem(__DIR__ . '/../'); - $twig = new \Twig_Environment($loader); - foreach ($files as $file => $target) { - $dest = $target . DIRECTORY_SEPARATOR . $file; - touch($dest); - chmod($dest, 0640); - $content = $twig->render($file, $params); - file_put_contents($dest, $content, LOCK_EX); - } - } - - public static function setUpBeforeClass() - { - if (getenv('RUN_DEPLOYMENT_TESTS') !== 'true') { - self::markTestSkipped( - 'To run this test, set RUN_DEPLOYMENT_TESTS env to true.' - ); - } - $project_id = getenv(self::PROJECT_ENV); - $e2e_test_version = getenv(self::VERSION_ENV); - $blowfish_secret = getenv(self::BF_SECRET_ENV); - $cloudsql_instance = getenv(self::CLOUDSQL_INSTANCE_ENV); - $db_password = getenv(self::DB_PASSWORD_ENV); - if ($project_id === false) { - self::fail('Please set ' . self::PROJECT_ENV . ' env var.'); - } - if ($e2e_test_version === false) { - self::fail('Please set ' . self::VERSION_ENV . ' env var.'); - } - if ($blowfish_secret === false) { - self::fail('Please set ' . self::BF_SECRET_ENV . ' env var.'); - } - if ($cloudsql_instance === false) { - self::fail( - 'Please set ' . self::CLOUDSQL_INSTANCE_ENV . ' env var.'); - } - if ($db_password === false) { - self::fail('Please set ' . self::DB_PASSWORD_ENV . ' env var.'); - } - $target = self::getTargetDir(); - self::downloadPhpmyadmin($target); - self::copyFiles( - array( - 'app-e2e.yaml' => $target, - 'php.ini' => $target, - 'config.inc.php' => $target - ), - array( - 'your_connection_string' => "$project_id/$cloudsql_instance", - 'your_secret' => $blowfish_secret, - ) - ); - rename("$target/app-e2e.yaml", "$target/app.yaml"); - self::deploy($project_id, $e2e_test_version, $target); - } - - public static function deploy($project_id, $e2e_test_version, $target) - { - $command = "gcloud -q app deploy --no-promote " - . "--no-stop-previous-version " - . "--version $e2e_test_version " - . "--project $project_id " - . "$target/app.yaml"; - for ($i = 0; $i <= 3; $i++) { - exec($command, $output, $ret); - foreach ($output as $line) { - self::output($line); - } - if ($ret === 0) { - return; - } else { - self::output('Retrying deployment'); - } - } - self::fail('Deployment failed.'); - } - - - public static function tearDownAfterClass() - { - $command = 'gcloud -q app versions delete --service phpmyadmin ' - . getenv(self::VERSION_ENV) - . ' --project ' - . getenv(self::PROJECT_ENV); - for ($i = 0; $i <= 3; $i++) { - exec($command, $output, $ret); - foreach ($output as $line) { - self::output($line); - } - if ($ret === 0) { - self::output('Successfully delete the version'); - return; - } else { - self::output('Retrying to delete the version'); - } - } - self::fail('Failed to delete the version.'); - } - - public function setUp() - { - $url = sprintf('https://%s-dot-phpmyadmin-dot-%s.appspot.com/', - getenv(self::VERSION_ENV), - getenv(self::PROJECT_ENV)); - $this->client = new Client(['base_uri' => $url]); - } - - public function testIndex() - { - // Index serves succesfully the login screen. - $resp = $this->client->get(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'Login screen status code'); - // TODO check the contents - } -} diff --git a/appengine/standard/storage/README.md b/appengine/standard/storage/README.md deleted file mode 100644 index c2358dab78..0000000000 --- a/appengine/standard/storage/README.md +++ /dev/null @@ -1,61 +0,0 @@ -# Cloud Storage & Google App Engine - -This sample application demonstrates how to use [Cloud Storage with Google App Engine](https://cloud.google.com/appengine/docs/php/googlestorage/). - -## Setup - -Before running this sample: - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Setup - -Before you can run or deploy the sample, you will need to do the following: - -1. Set `` in `index.php` to the name of your Cloud Storage Bucket. - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Run Locally** - -Create a local directory for the Dev AppServer to use for Cloud Storage: - -``` -mkdir /tmp/gs -``` - -> Note: This directory can be wherever you like, as long as it's consistent with - the `--storage_path` option below. - -Run the sample with `dev_appserver.py`: - -``` -cd /path/to/php-docs-samples/appengine/standard/storage -dev_appserver.py --php_executable=/usr/local/bin/php-cgi --storage_path=/tmp/gs . -``` - -> Note: Your PHP executable path may be different than the one above. - -Now browse to `http://localhost:8080` to view the sample. - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/standard/storage/app.php b/appengine/standard/storage/app.php deleted file mode 100644 index 19fcabadeb..0000000000 --- a/appengine/standard/storage/app.php +++ /dev/null @@ -1,271 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function () use ($app) { - $my_bucket = $app['bucket_name']; - $default_bucket = CloudStorageTools::getDefaultGoogleStorageBucketName(); - if ($my_bucket == '') { - return 'Set <your-bucket-name> to the name of your ' - . 'cloud storage bucket in index.php'; - } - if (!in_array('gs', stream_get_wrappers())) { - return 'This application can only run in AppEngine or the Dev AppServer environment.'; - } - - # [START user_upload] - $options = ['gs_bucket_name' => $my_bucket]; - $upload_url = CloudStorageTools::createUploadUrl('/upload/handler', $options); - # [END user_upload] - - $buckets = [ - $my_bucket => ['hello', 'hello_options', 'hello_stream', 'hello_caching', 'hello_metadata'], - $default_bucket => ['hello_default', 'hello_default_stream'], - ]; - $params['upload_url'] = $upload_url; - foreach ($buckets as $bucket => $files) { - foreach ($files as $file) { - $params[$file] = ''; - if (file_exists("gs://${bucket}/${file}.txt")) { - $params[$file] = file_get_contents("gs://${bucket}/${file}.txt"); - } - } - } - - // load file metadata - $content_type = ''; - $metadata = []; - if (file_exists("gs://${my_bucket}/hello_metadata.txt")) { - # [START read_metadata] - $fp = fopen("gs://${my_bucket}/hello_metadata.txt", 'r'); - $content_type = CloudStorageTools::getContentType($fp); - $metadata = CloudStorageTools::getMetaData($fp); - # [END read_metadata] - } - - $params['metadata'] = $metadata; - $params['metadata_content_type'] = $content_type; - - return $app['twig']->render('storage.html.twig', $params); -}); - - -/** - * Read from the filesystem. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/#is_there_any_other_way_to_read_and_write_files - */ -$app->get('/file.txt', function () use ($app) { - $filePath = __DIR__ . '/file.txt'; - # [START read_simple] - $fileContents = file_get_contents($filePath); - # [END read_simple] - return $fileContents; -}); - -/** - * Write to a Storage bucket. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/#simple_file_write - */ -$app->post('/write', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - $my_bucket = $app['bucket_name']; - # [START write_simple] - file_put_contents("gs://${my_bucket}/hello.txt", $newFileContent); - # [END write_simple] - return $app->redirect('/'); -}); - -/** - * Write to a Storage bucket with file context. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/#simple_file_write - */ -$app->post('/write/options', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - $my_bucket = $app['bucket_name']; - # [START write_options] - $options = ['gs' => ['Content-Type' => 'text/plain']]; - $context = stream_context_create($options); - file_put_contents("gs://${my_bucket}/hello_options.txt", $newFileContent, 0, $context); - # [END write_options] - return $app->redirect('/'); -}); - -/** - * Write to a Storage bucket using a stream. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/#streamed_file_write - */ -$app->post('/write/stream', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - $my_bucket = $app['bucket_name']; - # [START write_stream] - $fp = fopen("gs://${my_bucket}/hello_stream.txt", 'w'); - fwrite($fp, $newFileContent); - fclose($fp); - # [END write_stream] - return $app->redirect('/'); -}); - - -/** - * Write to a Storage bucket with caching. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/advanced#cached_file_reads - */ -$app->post('/write/caching', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - $my_bucket = $app['bucket_name']; - # [START write_caching] - $options = [ - 'gs' => [ - 'enable_cache' => true, - 'enable_optimistic_cache' => true, - 'read_cache_expiry_seconds' => 300, - ] - ]; - $context = stream_context_create($options); - file_put_contents("gs://${my_bucket}/hello_caching.txt", $newFileContent, 0, $context); - # [END write_caching] - return $app->redirect('/'); -}); - -/** - * Write to a Storage bucket with custom metadata. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/advanced#reading_and_writing_custom_metadata - */ -$app->post('/write/metadata', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - $my_bucket = $app['bucket_name']; - # [START write_metadata] - $metadata = ['foo' => 'bar', 'baz' => 'qux']; - $options = [ - 'Content-Type' => 'text/plain', - 'metadata' => $metadata - ]; - $context = stream_context_create(['gs' => $options]); - file_put_contents("gs://${my_bucket}/hello_metadata.txt", $newFileContent, 0, $context); - # [END write_metadata] - return $app->redirect('/'); -}); - -/** - * Write to the default Storage bucket. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/setup - */ -$app->post('/write/default', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - # [START write_default] - $default_bucket = CloudStorageTools::getDefaultGoogleStorageBucketName(); - file_put_contents("gs://${default_bucket}/hello_default.txt", $newFileContent); - # [END write_default] - return $app->redirect('/'); -}); - -/** - * Write to the default bucket using a stream. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/setup - */ -$app->post('/write/default/stream', function (Request $request) use ($app) { - $newFileContent = $request->get('content'); - # [START write_default_stream] - $default_bucket = CloudStorageTools::getDefaultGoogleStorageBucketName(); - $fp = fopen("gs://${default_bucket}/hello_default_stream.txt", 'w'); - fwrite($fp, $newFileContent); - fclose($fp); - # [END write_default_stream] - return $app->redirect('/'); -}); - -/** - * Serve a file from Storage and preserve the ACL. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/public_access#serving_files_from_a_script - */ -$app->get('/serve', function () use ($app) { - $my_bucket = $app['bucket_name']; - if (!file_exists("gs://${my_bucket}/serve.txt")) { - file_put_contents("gs://${my_bucket}/serve.txt", <<get('/write/public', function () use ($app) { - $my_bucket = $app['bucket_name']; - $publicFileText = sprintf('new file written at %s', date('Y-m-d H:i:s')); - # [START write_public] - $options = ['gs' => ['acl' => 'public-read']]; - $context = stream_context_create($options); - $fileName = "gs://${my_bucket}/public_file.txt"; - file_put_contents($fileName, $publicFileText, 0, $context); - - $publicUrl = CloudStorageTools::getPublicUrl($fileName, false); - # [END write_public] - - return $app->redirect($publicUrl); -}); - -/** - * Handle an uploaded file. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/user_upload#implementing_file_uploads - */ -$app->post('/upload/handler', function () use ($app) { - $my_bucket = $app['bucket_name']; - # [START move_uploaded_file] - $file_name = $_FILES['uploaded_files']['name']; - $temp_name = $_FILES['uploaded_files']['tmp_name']; - move_uploaded_file($temp_name, "gs://${my_bucket}/${file_name}.txt"); - # [END move_uploaded_file] - return sprintf('Your file "%s" has been uploaded.', $file_name); -}); - -/** - * Serve an image from Storage. - * @see https://cloud.google.com/appengine/docs/php/googlestorage/images - */ -$app->get('/serve/image', function () use ($app) { - $my_bucket = $app['bucket_name']; - if (!file_exists("gs://${my_bucket}/image.jpg")) { - copy(__DIR__ . '/image.jpg', "gs://${my_bucket}/image.jpg"); - } - # [START image_serve] - $options = ['size' => 400, 'crop' => true]; - $image_file = "gs://${my_bucket}/image.jpg"; - $image_url = CloudStorageTools::getImageServingUrl($image_file, $options); - # [END image_serve] - return $app->redirect($image_url); -}); - -return $app; diff --git a/appengine/standard/storage/app.yaml b/appengine/standard/storage/app.yaml deleted file mode 100644 index 4430f23dd5..0000000000 --- a/appengine/standard/storage/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -api_version: 1 -threadsafe: true - -handlers: -- url: /.* - script: index.php diff --git a/appengine/standard/storage/composer.json b/appengine/standard/storage/composer.json deleted file mode 100644 index bfb80276c7..0000000000 --- a/appengine/standard/storage/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3", - "twig/twig": "~1.8|~2.0", - "symfony/twig-bridge": "~2.7|3.0.*" - }, - "require-dev": { - "symfony/browser-kit": "^3.0", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/standard/storage/composer.lock b/appengine/standard/storage/composer.lock deleted file mode 100644 index 3b77a1656b..0000000000 --- a/appengine/standard/storage/composer.lock +++ /dev/null @@ -1,1947 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "f31eadfd0e1d953719496e3320d5a829", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "symfony/twig-bridge", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "twig/twig": "~1.23|~2.0" - }, - "require-dev": { - "symfony/asset": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/form": "~3.0.4", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/routing": "~2.8|~3.0", - "symfony/security": "~2.8|~3.0", - "symfony/security-acl": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security": "For using the SecurityExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/templating": "For using the TwigEngine", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/yaml": "For using the YamlExtension" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Twig\\": "" - }, - "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 Twig Bridge", - "homepage": "https://symfony.com/", - "time": "2016-07-28T11:13:34+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/storage/file.txt b/appengine/standard/storage/file.txt deleted file mode 100644 index 633940d3aa..0000000000 --- a/appengine/standard/storage/file.txt +++ /dev/null @@ -1,2 +0,0 @@ -This is the contents of a static file, to illustrate your application - has readonly access to the filesystem while running in Google App Engine. \ No newline at end of file diff --git a/appengine/standard/storage/image.jpg b/appengine/standard/storage/image.jpg deleted file mode 100644 index 2d4158b20acfee9883f5c29b9272ac71b5dc6b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28071 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 YbR+Sqfob4(&*}en{;z9b*Qf6P01me9YXATM diff --git a/appengine/standard/storage/index.php b/appengine/standard/storage/index.php deleted file mode 100644 index 1cbbd67c50..0000000000 --- a/appengine/standard/storage/index.php +++ /dev/null @@ -1,30 +0,0 @@ -'; - -// Run the app! -// use "gcloud app deploy" or run locally with dev_appserver.py -$app['debug'] = true; -$app->run(); diff --git a/appengine/standard/storage/phpunit.xml.dist b/appengine/standard/storage/phpunit.xml.dist deleted file mode 100644 index 79d1ddf1d4..0000000000 --- a/appengine/standard/storage/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/storage/storage.html.twig b/appengine/standard/storage/storage.html.twig deleted file mode 100644 index 8bbfdbde3c..0000000000 --- a/appengine/standard/storage/storage.html.twig +++ /dev/null @@ -1,183 +0,0 @@ - - - - Storage Example - - - -

Storage Example

- -
-

- Write - [docs]: -

-
- Some file content:
-
- -
- - {% if hello %} -

Your content:

-

{{ hello }}

- {% endif %} -
- -
-

- Write with Options - [docs]: -

-
- Some file content:
-
- -
- - {% if hello_options %} -

Your content:

-

{{ hello_options }}

- {% endif %} -
- -
-

- Stream Write - [docs]: -

-
- Some file content:
-
- -
- - {% if hello_stream %} -

Your content:

-

{{ hello_stream }}

- {% endif %} -
- -
-

- Write with Caching - [docs]: -

-
- Some file content:
-
- -
- - {% if hello_caching %} -

Your content:

-

{{ hello_caching }}

- {% endif %} -
- -
-

- Write with Metadata - [docs]: -

-
- Some file content:
-
- -
- - {% if hello_metadata %} -

Your content:

-

{{ hello_metadata }}

-

Your metadata:

-

-{% for key,value in metadata %}
-    {{ key }}: {{ value }}
-{% endfor %}
-            
-

Your content type:

-

{{ metadata_content_type }}

- {% endif %} -
- -
-

- Write (default) - [docs]: -

-
- Some file content:
-
- -
- - {% if hello_default %} -

Your content:

-

{{ hello_default }}

- {% endif %} -
- -
-

- Stream Write (default) - [docs]: -

-
- Some file content:
-
- -
- - {% if hello_default_stream %} -

Your content:

-

{{ hello_default_stream }}

- {% endif %} -
- -
-

- Serve a File - [docs]: -

-

Example of serving a file

-
- -
-

- Write and Serve Public Files - [docs]: -

-

Example of writing and serving a public file

-
- -
-

- User Uploads - [docs]: -

- - {# [START user_upload_form] #} -
- Files to upload:
- - -
- {# [END user_upload_form] #} -
- -
-

- Serve an Image - [docs]: -

-

Example of serving an image

-
- -
-

- Read from the Filesystem - [docs]: -

-

Example of reading from the filesystem

-
- diff --git a/appengine/standard/storage/test/LocalTest.php b/appengine/standard/storage/test/LocalTest.php deleted file mode 100644 index 2437a0384d..0000000000 --- a/appengine/standard/storage/test/LocalTest.php +++ /dev/null @@ -1,242 +0,0 @@ -createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testRead() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/file.txt'); - $response = $client->getResponse(); - - $this->assertTrue($response->isOk()); - $fileTxt = file_get_contents(__DIR__ . '/../file.txt'); - - $this->assertEquals($response->getContent(), $fileTxt); - } - - public function testWrite() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testWriteOptions() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write/options', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testWriteStream() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write/stream', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testWriteCaching() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write/caching', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testWriteMetadata() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write/metadata', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - CloudStorageTools::$metadata = ['foo' => 'bar']; - CloudStorageTools::$contentType = 'text/plain'; - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $content = $response->getContent(); - $this->assertContains($time, $content); - $this->assertContains(CloudStorageTools::$contentType, $content); - $this->assertTrue(count(CloudStorageTools::$metadata) > 0); - foreach (CloudStorageTools::$metadata as $key => $value) { - $this->assertContains($key, $content); - $this->assertContains($value, $content); - } - } - - public function testWriteDefault() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write/default', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testWriteDefaultStream() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('POST', '/write/default/stream', [ - 'content' => sprintf('doot doot (%s)', $time), - ]); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - - $crawler = $client->followRedirect(); - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains($time, $response->getContent()); - } - - public function testServe() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('GET', '/serve'); - - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains('This is the contents of a file', CloudStorageTools::$served); - } - - public function testWritePublic() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('GET', '/write/public'); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - $url = $response->headers->get('Location'); - $this->assertFalse(empty($url)); - $this->assertEquals($url, CloudStorageTools::$publicUrl); - } - - public function testServeImage() - { - $client = $this->createClient(); - - $time = date('Y-m-d H:i:s'); - $crawler = $client->request('GET', '/serve/image'); - - $response = $client->getResponse(); - $this->assertEquals(302, $response->getStatusCode()); - $url = $response->headers->get('Location'); - $this->assertFalse(empty($url)); - $this->assertEquals($url, CloudStorageTools::$imageUrl); - $this->assertEquals(['size' => 400, 'crop' => true], CloudStorageTools::$imageOptions); - } -} diff --git a/appengine/standard/storage/test/bootstrap.php b/appengine/standard/storage/test/bootstrap.php deleted file mode 100644 index ca9b766890..0000000000 --- a/appengine/standard/storage/test/bootstrap.php +++ /dev/null @@ -1,19 +0,0 @@ - 0, - 'ino' => 0, - 'mode' => 'r', - 'nlink' => 0, - 'uid' => getmyuid(), - 'gid' => getmygid(), - 'rdev' => 0, - 'size' => $size, - 'atime' => time(), - 'mtime' => time(), - 'ctime' => time(), - 'blksize' => -1, - 'blocks' => -1 - ]; - } - - public function stream_write($data) - { - self::$data[self::$path] = $data; - return strlen($data); - } -} diff --git a/appengine/standard/storage/test/mocks/CloudStorageTools.php b/appengine/standard/storage/test/mocks/CloudStorageTools.php deleted file mode 100644 index b7f26ceda7..0000000000 --- a/appengine/standard/storage/test/mocks/CloudStorageTools.php +++ /dev/null @@ -1,65 +0,0 @@ -get('/', function () use ($app) { - // [START add_task] - $task = new PushTask( - '/worker', - ['name' => 'john doe', 'action' => 'send_reminder']); - $task_name = $task->add(); - // [END add_task] - // [START add_tasks] - $task1 = new PushTask('/someUrl'); - $task2 = new PushTask('/someOtherUrl'); - $queue = new PushQueue(); - $queue->addTasks([$task1, $task2]); - // [END add_tasks] - // [START url_endpoints] - (new PushTask('/path/to/my/worker', ['data_for_task' => 1234]))->add(); - // [END url_endpoints] - return 'A task ' . $task_name . ' added.'; -}); - -$app->post('/worker', function (Request $req) use ($app) { - return 'name: ' . $req->get('name') . "\n" - . 'action: ' . $req->get('action'); -}); - -$app->post('/someUrl', function (Request $req) use ($app) { - return 'Ok'; -}); - -$app->post('/someOtherUrl', function (Request $req) use ($app) { - return 'Ok'; -}); - -$app->post('/path/to/my/worker', function (Request $req) use ($app) { - return 'Ok'; -}); - -return $app; diff --git a/appengine/standard/taskqueue/app.yaml b/appengine/standard/taskqueue/app.yaml deleted file mode 100644 index 591a389720..0000000000 --- a/appengine/standard/taskqueue/app.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# [START admin_protection] -runtime: php55 -api_version: 1 -threadsafe: yes - -handlers: -- url: /tasks/process - script: process.php - login: admin -# [END admin_protection] -- url: /.* - script: index.php diff --git a/appengine/standard/taskqueue/composer.json b/appengine/standard/taskqueue/composer.json deleted file mode 100644 index 091ef95c48..0000000000 --- a/appengine/standard/taskqueue/composer.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3" - }, - "require-dev": { - "guzzlehttp/guzzle": "~6.0", - "phpunit/phpunit": "~4", - "symfony/browser-kit": "~3", - "symfony/process": "~3" - }, - "autoload": { - "psr-4": { "Google\\Cloud\\Test\\": "tests/" } - } -} diff --git a/appengine/standard/taskqueue/composer.lock b/appengine/standard/taskqueue/composer.lock deleted file mode 100644 index 4df10678ef..0000000000 --- a/appengine/standard/taskqueue/composer.lock +++ /dev/null @@ -1,2081 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "c04b151d9ceff520c9a1412ad02e672e", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/taskqueue/index.php b/appengine/standard/taskqueue/index.php deleted file mode 100644 index bf95d13ae9..0000000000 --- a/appengine/standard/taskqueue/index.php +++ /dev/null @@ -1,28 +0,0 @@ -run(); diff --git a/appengine/standard/taskqueue/phpunit.xml.dist b/appengine/standard/taskqueue/phpunit.xml.dist deleted file mode 100644 index 934a552e86..0000000000 --- a/appengine/standard/taskqueue/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/taskqueue/test/bootstrap.php b/appengine/standard/taskqueue/test/bootstrap.php deleted file mode 100644 index ccb70c6f08..0000000000 --- a/appengine/standard/taskqueue/test/bootstrap.php +++ /dev/null @@ -1,20 +0,0 @@ -createClient(); - $crawler = $client->request('GET', '/'); - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - 'A task task0 added.', - $client->getResponse()->getContent()); - $this->assertEquals(4, count(PushTask::$tasks)); - $this->assertEquals(4, count(PushTask::$added)); - foreach (PushTask::$added as $added) { - $this->assertTrue($added); - } - } - - public function testWorker() - { - $client = $this->createClient(); - $crawler = $client->request('POST', '/worker'); - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testSomeUrl() - { - $client = $this->createClient(); - $crawler = $client->request('POST', '/someUrl'); - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testSomeOtherUrl() - { - $client = $this->createClient(); - $crawler = $client->request('POST', '/someOtherUrl'); - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testMyWorker() - { - $client = $this->createClient(); - $crawler = $client->request('POST', '/path/to/my/worker'); - $this->assertTrue($client->getResponse()->isOk()); - } -} diff --git a/appengine/standard/taskqueue/test/unit/mocks/PushQueue.php b/appengine/standard/taskqueue/test/unit/mocks/PushQueue.php deleted file mode 100644 index 826b728303..0000000000 --- a/appengine/standard/taskqueue/test/unit/mocks/PushQueue.php +++ /dev/null @@ -1,35 +0,0 @@ -add(); - } - } -} diff --git a/appengine/standard/taskqueue/test/unit/mocks/PushTask.php b/appengine/standard/taskqueue/test/unit/mocks/PushTask.php deleted file mode 100644 index 6d91dd692e..0000000000 --- a/appengine/standard/taskqueue/test/unit/mocks/PushTask.php +++ /dev/null @@ -1,48 +0,0 @@ -url = $url; - $this->options = $options; - $this->index = count(self::$tasks); - self::$tasks[] = $this; - self::$added[$this->index] = false; - } - - public function add() - { - self::$added[$this->index] = true; - return 'task' . $this->index; - } -} diff --git a/appengine/standard/twilio/README.md b/appengine/standard/twilio/README.md deleted file mode 100644 index 4f76713c89..0000000000 --- a/appengine/standard/twilio/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# Twilio & Google App Engine (Standard) - -This sample application demonstrates how to use [Twilio with Google App Engine](https://cloud.google.com/appengine/docs/php/sms/twilio). - -## Setup - -Before running this sample: - -1. You will need a [Twilio account](https://www.twilio.com/user/account). -1. Update `TWILIO_ACCOUNT_SID` and `TWILIO_AUTH_TOKEN` in `index.php` to match your - Twilio credentials. These can be found in your [account settings] - (https://www.twilio.com/user/account/settings) -1. Update `TWILIO_FROM_NUMBER` in `index.php` with a number you have authorized - for sending messages. Follow [Twilio's documentation] - (https://www.twilio.com/user/account/phone-numbers/getting-started) to set - this up. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Run locally - -you can run locally using PHP's built-in web server: - -```sh -cd php-docs-samples/appengine/standard/twilio -php -S localhost:8080 -``` - -Now you can view the app running at [http://localhost:8080](http://localhost:8080) -in your browser. - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/standard/twilio/app.php b/appengine/standard/twilio/app.php deleted file mode 100644 index c84a014ba9..0000000000 --- a/appengine/standard/twilio/app.php +++ /dev/null @@ -1,52 +0,0 @@ -get('/', function () use ($app) { - if ($app['twilio.account_sid'] == 'TWILIO_ACCOUNT_SID') { - return 'set your Twilio SID and Auth Token in index.php'; - } - $sid = $app['twilio.account_sid']; - $token = $app['twilio.auth_token']; - $fromNumber = $app['twilio.from_number']; - $toNumber = $app['twilio.to_number']; - - # [START send_sms] - $client = new Services_Twilio($sid, $token); - $sms = $client->account->messages->sendMessage( - $fromNumber, // From this number - $toNumber, // Send to this number - 'Hello monkey!!' - ); - - return sprintf('Message ID: %s, Message Body: %s', $sms->sid, $sms->body); - # [END send_sms] -}); - -$app->post('/twiml', function () { - # [START twiml] - $response = new Services_Twilio_Twiml(); - $response->say('Hello Monkey'); - - return (string) $response; - # [END twiml] -}); - -return $app; diff --git a/appengine/standard/twilio/app.yaml b/appengine/standard/twilio/app.yaml deleted file mode 100644 index 4430f23dd5..0000000000 --- a/appengine/standard/twilio/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -api_version: 1 -threadsafe: true - -handlers: -- url: /.* - script: index.php diff --git a/appengine/standard/twilio/composer.json b/appengine/standard/twilio/composer.json deleted file mode 100644 index 518ad67ec3..0000000000 --- a/appengine/standard/twilio/composer.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "require": { - "twilio/sdk": "^4.10", - "silex/silex": "^1.3" - }, - "require-dev": { - "satooshi/php-coveralls": "^1.0", - "symfony/browser-kit": "^3.0", - "phpunit/phpunit": "~4" - } -} diff --git a/appengine/standard/twilio/composer.lock b/appengine/standard/twilio/composer.lock deleted file mode 100644 index 73c7c356b5..0000000000 --- a/appengine/standard/twilio/composer.lock +++ /dev/null @@ -1,2222 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "3aea3cb8c7551b7fc42ea0a0bcff60a2", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "twilio/sdk", - "version": "4.12.0", - "source": { - "type": "git", - "url": "https://github.com/twilio/twilio-php.git", - "reference": "6e4b45fc3f8b56c088dfecf4bced76c712cb6182" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twilio/twilio-php/zipball/6e4b45fc3f8b56c088dfecf4bced76c712cb6182", - "reference": "6e4b45fc3f8b56c088dfecf4bced76c712cb6182", - "shasum": "" - }, - "require": { - "php": ">=5.2.1" - }, - "require-dev": { - "mockery/mockery": ">=0.7.2", - "phpunit/phpunit": "4.5.*" - }, - "type": "library", - "autoload": { - "files": [ - "Services/Twilio.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kevin Burke", - "email": "kevin@twilio.com" - }, - { - "name": "Kyle Conroy", - "email": "kyle+pear@twilio.com" - } - ], - "description": "A PHP wrapper for Twilio's API", - "homepage": "http://github.com/twilio/twilio-php", - "keywords": [ - "api", - "sms", - "twilio" - ], - "time": "2016-09-01T18:42:52+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "guzzle/guzzle", - "version": "v3.8.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" - }, - "dist": { - "type": "zip", - "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" - }, - "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": "*", - "monolog/monolog": "1.*", - "phpunit/phpunit": "3.7.*", - "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.8-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": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "abandoned": "guzzlehttp/guzzle", - "time": "2014-01-28T22:29:15+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "satooshi/php-coveralls", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/da51d304fe8622bf9a6da39a8446e7afd432115c", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": "^2.8|^3.0", - "php": ">=5.3.3", - "psr/log": "^1.0", - "symfony/config": "^2.1|^3.0", - "symfony/console": "^2.1|^3.0", - "symfony/stopwatch": "^2.0|^3.0", - "symfony/yaml": "^2.0|^3.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/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "time": "2016-01-20T17:35:46+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/config", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "8444bde28e3c2a33e571e6f180c2d78bfdc4480d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/8444bde28e3c2a33e571e6f180c2d78bfdc4480d", - "reference": "8444bde28e3c2a33e571e6f180c2d78bfdc4480d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/filesystem": "~2.8|~3.0" - }, - "require-dev": { - "symfony/yaml": "~3.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "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 Config Component", - "homepage": "https://symfony.com/", - "time": "2017-04-04T15:30:56+00:00" - }, - { - "name": "symfony/console", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "c30243cc51f726812be3551316b109a2f5deaf8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c30243cc51f726812be3551316b109a2f5deaf8d", - "reference": "c30243cc51f726812be3551316b109a2f5deaf8d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-04-04T14:33:42+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "64421e6479c4a8e60d790fb666bd520992861b66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/64421e6479c4a8e60d790fb666bd520992861b66", - "reference": "64421e6479c4a8e60d790fb666bd520992861b66", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-26T15:47:15+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-02-18T17:28:00+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/twilio/index.php b/appengine/standard/twilio/index.php deleted file mode 100644 index 755dd8a59c..0000000000 --- a/appengine/standard/twilio/index.php +++ /dev/null @@ -1,33 +0,0 @@ -run(); diff --git a/appengine/standard/twilio/phpunit.xml.dist b/appengine/standard/twilio/phpunit.xml.dist deleted file mode 100644 index 0d63149911..0000000000 --- a/appengine/standard/twilio/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/twilio/test/LocalTest.php b/appengine/standard/twilio/test/LocalTest.php deleted file mode 100644 index 591fce85e7..0000000000 --- a/appengine/standard/twilio/test/LocalTest.php +++ /dev/null @@ -1,74 +0,0 @@ -markTestSkipped('set the TWILIO_ACCOUNT_SID, ' . - 'TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER, TWILIO_TO_NUMBER ' . - 'and environment variables'); - } - - $this->app['twilio.account_sid'] = $sid; - $this->app['twilio.auth_token'] = $token; - $this->app['twilio.from_number'] = $fromNumber; - $this->app['twilio.to_number'] = $toNumber; - - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testTwiml() - { - $client = $this->createClient(); - - $crawler = $client->request('POST', '/twiml'); - - $response = $client->getResponse(); - $this->assertEquals(200, $response->getStatusCode()); - $twiml = 'Hello Monkey'; - $this->assertContains($twiml, $response->getContent()); - } -} diff --git a/appengine/standard/users/README.md b/appengine/standard/users/README.md deleted file mode 100644 index cf6ed914bc..0000000000 --- a/appengine/standard/users/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Users & Google App Engine - -This sample application demonstrates how to use Google App Engine's users API. - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install dependencies by running: - -```sh -composer install -``` - -## Deploy to App Engine - -**Prerequisites** - -- Install the [Google Cloud SDK](https://developers.google.com/cloud/sdk/). - -**Deploy with gcloud** - -``` -gcloud config set project YOUR_PROJECT_ID -gcloud app deploy -gcloud app browse -``` - -The last command will open `https://{YOUR_PROJECT_ID}.appspot.com/` -in your browser. diff --git a/appengine/standard/users/app.php b/appengine/standard/users/app.php deleted file mode 100644 index 711f597d56..0000000000 --- a/appengine/standard/users/app.php +++ /dev/null @@ -1,69 +0,0 @@ -get('/', function () use ($app) { - # [START get_current_user] - $user = UserService::getCurrentUser(); - - if (isset($user)) { - return sprintf('Welcome, %s! (sign out)', - $user->getNickname(), - UserService::createLogoutUrl('/')); - } else { - return sprintf('Sign in or register', - UserService::createLoginUrl('/')); - } - # [END get_current_user] -}); - -$app->get('/admin', function () use ($app) { - # [START check_administrator] - $user = UserService::getCurrentUser(); - if (isset($user) && UserService::isCurrentUserAdmin()) { - return 'Welcome administrator.'; - } - return 'You are not an administrator.'; - # [END check_administrator] -}); - -$app->get('/user', function () use ($app) { - # [START new_user] - $user = new User('Albert.Johnson@example.com'); - # [END new_user] - return sprintf('Nickname is %s', $user->getNickname()); -}); - -$app->get('/federatedUser', function () use ($app) { - # [START new_federated_user] - $user = new User(null, 'http://example.com/id/ajohnson'); - # [END new_federated_user] - return sprintf('Nickname is %s', $user->getNickname()); -}); - -return $app; diff --git a/appengine/standard/users/app.yaml b/appengine/standard/users/app.yaml deleted file mode 100644 index 88af4c02e9..0000000000 --- a/appengine/standard/users/app.yaml +++ /dev/null @@ -1,7 +0,0 @@ -runtime: php55 -threadsafe: yes -api_version: 1 - -handlers: -- url: .* - script: index.php diff --git a/appengine/standard/users/composer.json b/appengine/standard/users/composer.json deleted file mode 100644 index 11c31b5491..0000000000 --- a/appengine/standard/users/composer.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "require": { - "silex/silex": "^1.3" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "phpunit/phpunit": "~4", - "symfony/browser-kit": "^3.0" - } -} diff --git a/appengine/standard/users/composer.lock b/appengine/standard/users/composer.lock deleted file mode 100644 index 376306d123..0000000000 --- a/appengine/standard/users/composer.lock +++ /dev/null @@ -1,2131 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "c77fb34694dc31ef567f05e20d5ca7a6", - "packages": [ - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.5", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", - "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/locale": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2016-01-06T14:59:35+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/appengine/standard/users/index.php b/appengine/standard/users/index.php deleted file mode 100644 index 051e9e59dd..0000000000 --- a/appengine/standard/users/index.php +++ /dev/null @@ -1,27 +0,0 @@ -run(); diff --git a/appengine/standard/users/phpunit.xml.dist b/appengine/standard/users/phpunit.xml.dist deleted file mode 100644 index c919342416..0000000000 --- a/appengine/standard/users/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/appengine/standard/users/test/bootstrap.php b/appengine/standard/users/test/bootstrap.php deleted file mode 100644 index 920cafbd10..0000000000 --- a/appengine/standard/users/test/bootstrap.php +++ /dev/null @@ -1,21 +0,0 @@ -user = $this->getMockBuilder('google\appengine\api\users\User') - ->disableOriginalConstructor() - ->setMethods(array('getNickname')) - ->getMock(); - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testLoginUrl() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - UserService::$loginUrl, - $client->getResponse()->getContent()); - } - - public function testAdmin() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/admin'); - - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - 'You are not an administrator.', - $client->getResponse()->getContent()); - } - - public function testAdminWithAdminUser() - { - $client = $this->createClient(); - $nickname = 'tmatsuo'; - $this->user->method('getNickname')->willReturn($nickname); - UserService::$user = $this->user; - $ret = putenv('USER_IS_ADMIN=1'); - $client->request('GET', '/admin'); - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - 'Welcome administrator.', - $client->getResponse()->getContent()); - } - - public function testLogoutUrl() - { - $nickname = 'tmatsuo'; - $this->user->method('getNickname')->willReturn($nickname); - $this->user->expects($this->once())->method('getNickname'); - UserService::$user = $this->user; - $client = $this->createClient(); - - $crawler = $client->request('GET', '/'); - - $this->assertTrue($client->getResponse()->isOk()); - $body = $client->getResponse()->getContent(); - $this->assertContains(UserService::$logoutUrl, $body); - $this->assertContains($nickname, $body); - } - - public function testUser() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/user'); - - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - 'Nickname is Albert.Johnson', - $client->getResponse()->getContent()); - } - - public function testFederatedUser() - { - $client = $this->createClient(); - - $crawler = $client->request('GET', '/federatedUser'); - - $this->assertTrue($client->getResponse()->isOk()); - $this->assertContains( - 'Nickname is http://example.com/id/ajohnson', - $client->getResponse()->getContent()); - } -} diff --git a/appengine/standard/users/test/unit/mocks/User.php b/appengine/standard/users/test/unit/mocks/User.php deleted file mode 100644 index b82968138c..0000000000 --- a/appengine/standard/users/test/unit/mocks/User.php +++ /dev/null @@ -1,59 +0,0 @@ -email = $email; - $this->federated_identity = $federated_identity; - $this->federated_provider = $federated_provider; - $this->user_id = $user_id; - } - - /** - * Returns the user's nickname. - * - * @return string - */ - public function getNickname() - { - if ($this->email !== null) { - return explode('@', $this->email)[0]; - } - return $this->federated_identity; - } -} diff --git a/appengine/standard/users/test/unit/mocks/UserService.php b/appengine/standard/users/test/unit/mocks/UserService.php deleted file mode 100644 index 82bb7e666a..0000000000 --- a/appengine/standard/users/test/unit/mocks/UserService.php +++ /dev/null @@ -1,51 +0,0 @@ -client->get(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - $this->assertContains( - 'register', - $resp->getBody()->getContents()); - } - - public function testAdmin() - { - // Access the modules app top page. - $resp = $this->client->get('/admin'); - $this->assertEquals('200', $resp->getStatusCode()); - $this->assertContains( - 'administrator', - $resp->getBody()->getContents()); - } - - public function testUser() - { - // Access the modules app top page. - $resp = $this->client->get('/user'); - $this->assertEquals('200', $resp->getStatusCode()); - } - - public function testFederatedUser() - { - // Access the modules app top page. - $resp = $this->client->get('/federatedUser'); - $this->assertEquals('200', $resp->getStatusCode()); - } -} diff --git a/appengine/wordpress/.gitignore b/appengine/wordpress/.gitignore deleted file mode 100644 index b13ec3f29e..0000000000 --- a/appengine/wordpress/.gitignore +++ /dev/null @@ -1 +0,0 @@ -my-wordpress-project diff --git a/appengine/wordpress/README.md b/appengine/wordpress/README.md deleted file mode 100644 index c502da2d54..0000000000 --- a/appengine/wordpress/README.md +++ /dev/null @@ -1,240 +0,0 @@ -# A helper command for running WordPress on Google Cloud Platform - -This is a small command line tool for downloading and configuring -WordPress for Google Cloud Platform. The script allows you to create a -working WordPress project for -[App Engine standard environment][appengine-standard] or -[App Engine flexible environment][appengine-flexible]. - -## Common Prerequisites - -* Install [Composer][composer] -* Create a new Cloud Project on [Developers Console][dev-console] -* Enable Billing on that project -* [Enable Cloud SQL API][cloud-sql-api-enable] (For App Engine flexible environment) -* Create App Engine default bucket at [App Engine Setting Page][app-engine-setting] -* Install [Google Cloud SDK][gcloud-sdk] - -## Prerequisites for standard environment only -* Install mysql - -## Project preparation - -Configure Google Cloud SDK with your account and the Project. - -``` -$ gcloud auth login -... -... -$ gcloud config set project YOUR_PROJECT_ID -``` - -Then configure the App Engine default GCS bucket for later use. The -default App Engine bucket looks like -YOUR_PROJECT_ID.appspot.com. Change the default acl of that bucket as -follows: - -``` -$ gsutil defacl ch -u AllUsers:R gs://YOUR_PROJECT_ID.appspot.com -``` - -## Create and configure a Cloud SQL instance - -If you will use App Engine flexible environment, create a Cloud SQL -2nd generation instance, and if you will use App Engine standard -environment, create a Cloud SQL 1st generation instance. - -In this guide, we use `wp` for various resource names; the instance -name, the database name, and the user name. - -### Create and configure a Cloud SQL 1st generation instance(for standard environment) - -Go to the [SQL settings in the Cloud Console][sql-settings] and create -an instance `wp` and database named `wp`. Go to the Access Control -> -Users, then change the password for `root@localhost`. You will use -this password for accessing from App Engine application. - -Also create the `wp` database in the local mysql server. The local -mysql instance is required to run `wp-cli` tool for -installing/upgrading plugins and themes. - -### Create and configure a Cloud SQL 2nd generation instance(for flexible environment) - -You can create a new Cloud SQL Second Generation instance with the -following command: - -``` -$ gcloud sql instances create wp \ - --activation-policy=ALWAYS \ - --tier=db-g1-small -``` - -Then change the root password for your instance: - -``` -$ gcloud sql instances set-root-password wp \ - --password YOUR_INSTANCE_ROOT_PASSWORD # Don't use this password! -``` - -To access this MySQL instance, we’ll use Cloud SQL Proxy. Please -download an appropriate binary from -[the download page][cloud-sql-proxy-download], make it executable. - -If you haven’t created a service account for the project, please -create it on [the Credentials section][credentials-section] in the -Console (Choose a new service account). Download the JSON key file and -save it in a secure place. - -Run the proxy by the following command: - -``` -$ cloud_sql_proxy \ - -dir /tmp/cloudsql \ - -instances=YOUR_PROJECT_ID:us-central1:wp=tcp:3306 \ - -credential_file=PATH_TO_YOUR_SERVICE_ACCOUNT_JSON -``` - -Now you can access to the Cloud SQL instance with the normal MySQL -client. Please create a new database and a user as follows: - -``` -$ mysql -h 127.0.0.1 -u root -p -mysql> create database wp; -mysql> create user 'wp'@'%' identified by 'PASSWORD'; // Don't use this password! -mysql> grant all on wp.* to 'wp'@'%'; -mysql> exit -Bye -``` - -In the above example, I created a new database wp and a new user wp. - -## How to use - -First install the dependencies in this directory as follows: - -``` -$ composer install -``` - -If it complains about extensions, please install `phar` and `zip` PHP -extesions and retry. - -Then run the helper command. - -``` -$ php wordpress-helper.php setup -``` - -The command asks you several questions, please answer them. Then -you'll have a new WordPress project. By default it will create -`my-wordpress-project` in the current directory. - -## Run WordPress locally and create a new user (for standard environment) - -If you chose the flexible environment, skip this step. - -This step will create a basic database setup in your local mysql -server. This is required to use `wp-cli` tool. - -CD into your WordPress project directory and run the following command -to run WordPress locally (be sure to keep the cloud SQL proxy -running): - -``` -$ cd my-wordpress-project -$ vendor/bin/wp(.bat) server --path=wordpress -``` - -Then access http://localhost:8080/. Follow the installation steps, -create the admin user and its password. Login to the Dashboard and -update if any of the plugins have update. - -Now it’s ready for the first deployment. - -## Deployment - -You can deploy your WordPress project by the following command. - -``` -$ gcloud app deploy \ - --promote --stop-previous-version app.yaml cron.yaml -``` - -Then access your site, and continue the installation step. The URL is: -https://PROJECT_ID.appspot.com/ - -Go to the Dashboard, and in the Plugins page, activate the following -plugins: - - -- For standard environment - - App Engine WordPress plugin (also set the e-mail address in its - setting page) - - Batcache Manager -- For flexible environment - - Batcache Manager - - GCS media plugin - -After activating the plugins, try uploading a media and confirm the -image is uploaded to the GCS bucket. - -## Check if the Batcache plugin is working - -On the plugin page in the WordPress dashboard, you should see 2 -drop-ins are activated; `advanced-cache.php` and `object-cache.php`. - -To make sure it’s really working, you can open an incognito window and -visit the site because the cache plugin only serves from cache to -anonymous users. Then go to -[the memcache dashboard in the Cloud Console][memcache-dashboard] and -check the hit ratio and number of items in cache. - -## Various workflows - -### Install/Update plugins/themes - -Because the wp-content directory on the server is read-only, you have -to do this locally. Run WordPress locally and update plugins/themes in -the local Dashboard, then deploy, then activate them in the production -Dashboard. You can also use the `wp-cli` utility as follows: - -``` -# To update all the plugins -$ vendor/bin/wp plugin update --all --path=wordpress -# To update all the themes -$ vendor/bin/wp theme update --all --path=wordpress -``` - -### Remove plugins/themes - -First Deactivate them in the production Dashboard, then remove them -completely locally. The next deployment will remove those files from -the production environment. - -### Update WordPress itself - -Most of the case, just download the newest WordPress and overwrite the -existing wordpress directory. It is still possible that the existing -config files are not compatible with the newest WordPress, so please -update the config file manually in that case. - -### Update the base image - -We sometimes release the security update for -[the php-docker image][php-docker]. Then you’ll have to re-deploy your -WordPress instance to get the security update. - -Enjoy your WordPress installation! - -[appengine-standard]: https://cloud.google.com/appengine/docs/about-the-standard-environment -[appengine-flexible]: https://cloud.google.com/appengine/docs/flexible/ -[sql-settings]: https://console.cloud.google.com/sql/instances -[memcache-dashboard]: https://console.cloud.google.com/appengine/memcache -[composer]: https://getcomposer.org/ -[dev-console]: https://console.cloud.google.com/ -[cloud-sql-api-enable]: https://console.cloud.google.com/flows/enableapi?apiid=sqladmin -[app-engine-setting]: https://console.cloud.google.com/appengine/settings -[gcloud-sdk]: https://cloud.google.com/sdk/ -[cloud-sql-proxy-download]: https://cloud.google.com/sql/docs/external#appaccess -[credentials-section]: https://console.cloud.google.com/apis/credentials/ -[php-docker]: https://github.com/googlecloudplatform/php-docker diff --git a/appengine/wordpress/composer.json b/appengine/wordpress/composer.json deleted file mode 100644 index ba3f453c64..0000000000 --- a/appengine/wordpress/composer.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "require": { - "ext-phar": "*", - "ext-zip": "*", - "paragonie/random_compat": "^1.3", - "symfony/console": "^3.0", - "twig/twig": "~1.0" - }, - "require-dev": { - "guzzlehttp/guzzle": "~6.0", - "phpunit/phpunit": "~4", - "symfony/browser-kit": "~2" - }, - "autoload": { - "psr-4": { "Google\\Cloud\\Helper\\": "src/", - "Google\\Cloud\\Test\\": "test/"} - } -} diff --git a/appengine/wordpress/composer.lock b/appengine/wordpress/composer.lock deleted file mode 100644 index 045be11e58..0000000000 --- a/appengine/wordpress/composer.lock +++ /dev/null @@ -1,1815 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "70c27bd481c233352f93b856bd682b6d", - "packages": [ - { - "name": "paragonie/random_compat", - "version": "v1.4.2", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/965cdeb01fdcab7653253aa81d40441d261f1e66", - "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:22:52+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "symfony/console", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "c30243cc51f726812be3551316b109a2f5deaf8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c30243cc51f726812be3551316b109a2f5deaf8d", - "reference": "c30243cc51f726812be3551316b109a2f5deaf8d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-04-04T14:33:42+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "twig/twig", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "reference": "05cf49921b13f6f01d3cfdf9018cfa7a8086fd5a", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.33-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-03-22T15:40:09+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v2.8.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "8827db04bcd8d9b9bf3114ea41081d8036ab209c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/8827db04bcd8d9b9bf3114ea41081d8036ab209c", - "reference": "8827db04bcd8d9b9bf3114ea41081d8036ab209c", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/dom-crawler": "~2.1|~3.0.0" - }, - "require-dev": { - "symfony/css-selector": "^2.0.5|~3.0.0", - "symfony/process": "~2.3.34|^2.7.6|~3.0.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T08:33:48+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970", - "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "ext-phar": "*", - "ext-zip": "*" - }, - "platform-dev": [] -} diff --git a/appengine/wordpress/phpunit.xml.dist b/appengine/wordpress/phpunit.xml.dist deleted file mode 100644 index fdecd3cea3..0000000000 --- a/appengine/wordpress/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - test - - - diff --git a/appengine/wordpress/src/Project.php b/appengine/wordpress/src/Project.php deleted file mode 100644 index 4a86963b58..0000000000 --- a/appengine/wordpress/src/Project.php +++ /dev/null @@ -1,101 +0,0 @@ -errors[] = 'File exists: ' . $dir; - return; - } - if (is_dir($dir)) { - $this->info[] = 'Re-using a directory ' . $dir . '.'; - } elseif (!@mkdir($dir, 0750, true)) { - $this->errors[] = 'Can not create a directory: ' . $dir; - } else { - $this->info[] = 'A directory ' . $dir . ' was created.'; - } - $this->dir = realpath($dir); - } - - public function downloadArchive($name, $url, $dir='') - { - $tmpdir = sys_get_temp_dir(); - $file = $tmpdir . DIRECTORY_SEPARATOR . basename($url); - file_put_contents($file, file_get_contents($url)); - - if (substr($url, -3, 3) === 'zip') { - $zip = new \ZipArchive; - if ($zip->open($file) === false) { - $this->errors[] = 'Failed to open a zip file: ' . $file; - return; - } - if ($zip->extractTo($this->dir . $dir) === false) { - $this->errors[] = 'Failed to extract a zip file: ' . $file; - $zip->close(); - return; - } - $zip->close(); - } else { - $phar = new \PharData($file, 0, null); - $phar->extractTo($this->dir . $dir, null, true); - } - unlink($file); - $this->info[] = 'Downloaded ' . $name . '.'; - // TODO error check - } - - public function copyFiles($path, $files, $params) - { - $loader = new \Twig_Loader_Filesystem($path); - $twig = new \Twig_Environment($loader); - foreach ($files as $file => $target) { - $dest = $this->dir . $target . $file; - touch($dest); - chmod($dest, 0640); - $content = $twig->render($file, $params); - file_put_contents($dest, $content, LOCK_EX); - } - $this->info[] = 'Copied necessary files with parameters.'; - } - - public function runComposer() - { - chdir($this->dir); - exec( - 'composer update --no-interaction --no-progress --no-ansi', - $output, $ret); - $this->info = array_merge($this->info, $output); - if ($ret !== 0) { - $this->info[] = 'Failed to run composer update in ' . $this->dir - . '. Please run it by yourself before running WordPress.'; - } - } - - public function getDir() - { - return $this->dir; - } -} diff --git a/appengine/wordpress/src/ReportInterface.php b/appengine/wordpress/src/ReportInterface.php deleted file mode 100644 index 9f7162c5a5..0000000000 --- a/appengine/wordpress/src/ReportInterface.php +++ /dev/null @@ -1,24 +0,0 @@ -info; - $this->info = array(); - return $ret; - } - public function getErrors() - { - if (empty($this->errors)) { - return false; - } - return $this->errors; - } -} diff --git a/appengine/wordpress/src/Utils.php b/appengine/wordpress/src/Utils.php deleted file mode 100644 index be56e77c3c..0000000000 --- a/appengine/wordpress/src/Utils.php +++ /dev/null @@ -1,36 +0,0 @@ -setName('setup') - ->setDescription('Setup WordPress on GCP') - ->addOption( - 'env', - 'e', - InputOption::VALUE_OPTIONAL, - 'App Engine environment to use; f: ' - . self::FLEXIBLE_ENV - . ', s: ' - . self::STANDARD_ENV - . '.', - null - ) - ->addOption( - 'dir', - 'd', - InputOption::VALUE_OPTIONAL, - 'Directory for the new project', - self::DEFAULT_DIR - ) - ->addOption( - 'sql_gen', - '', - InputOption::VALUE_OPTIONAL, - sprintf('Cloud SQL generation to use; 2: %s, 1: %s', - 'Second Generation', - 'First Generation'), - 2 - ) - ->addOption( - 'project_id', - 'p', - InputOption::VALUE_OPTIONAL, - 'Google Cloud project id', - '' - ) - ->addOption( - 'db_region', - null, - InputOption::VALUE_OPTIONAL, - 'Cloud SQL region', - '' - ) - ->addOption( - 'db_instance', - null, - InputOption::VALUE_OPTIONAL, - 'Cloud SQL instance id', - '' - ) - ->addOption( - 'db_name', - null, - InputOption::VALUE_OPTIONAL, - 'Cloud SQL database name', - '' - ) - ->addOption( - 'db_user', - null, - InputOption::VALUE_OPTIONAL, - 'Cloud SQL database username', - '' - ) - ->addOption( - 'db_password', - null, - InputOption::VALUE_OPTIONAL, - 'Cloud SQL database password', - '' - ) - ->addOption( - 'local_db_user', - null, - InputOption::VALUE_OPTIONAL, - 'Local SQL database username', - '' - ) - ->addOption( - 'local_db_password', - null, - InputOption::VALUE_OPTIONAL, - 'Local SQL database password', - '' - ) - ->addOption( - 'wordpress_url', - null, - InputOption::VALUE_OPTIONAL, - 'URL of the WordPress archive', - self::LATEST_WP - ); - } - - protected function report(OutputInterface $output, ReportInterface $report) - { - foreach ($report->getInfo() as $value) { - $output->writeln("" . $value . ""); - } - if ($report->getErrors() === false) { - return true; - } - foreach ($report->getErrors() as $value) { - $output->writeln("" . $value . ""); - } - return false; - } - - protected function addAuthKeys(&$params) - { - $authKeys = array( - 'auth_key', 'secure_auth_key', 'logged_in_key', 'nonce_key', - 'auth_salt', 'secure_auth_salt', 'logged_in_salt', 'nonce_salt' - ); - foreach ($authKeys as $key) { - $value = Utils::createRandomKey(); - $params[$key] = $value; - } - } - - protected function askParameters( - array $configKeys, - array &$params, - InputInterface $input, - OutputInterface $output, - $helper - ) { - foreach ($configKeys as $key => $default) { - $value = $input->getOption($key); - if ((!$input->isInteractive()) && empty($value)) { - $output->writeln( - '' . $key . ' can not be empty.'); - return self::DEFAULT_ERROR; - } - while (empty($value)) { - if (empty($default)) { - $note = ' (mandatory input)'; - } else { - $note = ' (defaults to \'' . $default . '\')'; - } - $q = new Question( - 'Please enter ' . $key . $note . ': ', $default); - if (strpos($key, 'password') !== false) { - $q->setHidden(true); - $q->setHiddenFallback(false); - } - $value = $helper->ask($input, $output, $q); - if (empty($value)) { - $output->writeln( - '' . $key . ' can not be empty.'); - } - } - $params[$key] = $value; - } - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $helper = $this->getHelper('question'); - $dir = $input->getOption('dir'); - if ($dir === self::DEFAULT_DIR) { - $q = new Question( - 'Please enter a directory path for the new project ' - . '(defaults to ' . $dir . '):', - $dir - ); - $dir = $helper->ask($input, $output, $q); - } - $q = new ConfirmationQuestion( - 'We will use the directory: ' . $dir . '' - . '. If the directory exists, we will override the contents. ' - . 'Do you want to continue? (Y/n)', - true - ); - if (!$helper->ask($input, $output, $q)) { - $output->writeln('Operation canceled.'); - return self::DEFAULT_ERROR; - } - $project = new Project($dir); - - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - $env = $input->getOption('env'); - if ($env === 'f') { - $env = self::FLEXIBLE_ENV; - } elseif ($env === 's') { - $env = self::STANDARD_ENV; - } else { - $q = new ChoiceQuestion( - 'Please select the App Engine Environment ' - . '(defaults to ' . self::FLEXIBLE_ENV . ')', - array(self::FLEXIBLE_ENV, self::STANDARD_ENV), - self::FLEXIBLE_ENV - ); - $q->setErrorMessage('Environment %s is invalid.'); - $env = $helper->ask($input, $output, $q); - } - $output->writeln('Creating a new project for: ' . $env - . ''); - - // Determine the Cloud SQL Generation to use. - $sql_gen = $input->getOption('sql_gen'); - switch ($sql_gen) { - case '1': - if ($env === self::FLEXIBLE_ENV) { - $output->writeln('You can not use ' - . 'Cloud SQL First Generation with ' - . self::FLEXIBLE_ENV . '.'); - return self::DEFAULT_ERROR; - } - $db_connection_pattern = '%s:%s'; - break; - case '2': - $db_region = $input->getOption('db_region'); - if (! in_array($db_region, self::$availableDbRegions)) { - $q = new ChoiceQuestion( - 'Please select the region of your Cloud SQL instance ' - . '(defaults to ' . self::DEFAULT_DB_REGION . ')', - self::$availableDbRegions, - self::DEFAULT_DB_REGION - ); - $q->setErrorMessage('DB region %s is invalid.'); - $db_region = $helper->ask($input, $output, $q); - $output->writeln('Using a db_region: ' . $db_region - . ''); - } - $db_connection_pattern = "%s:$db_region:%s"; - break; - default: - $output->writeln( - sprintf( - 'Invalid value for sql_gen: %s.', - $sql_gen - ) - ); - return self::DEFAULT_ERROR; - } - - $output->writeln('Downloading the WordPress archive...'); - $wpUrl = $input->getOption('wordpress_url'); - $project->downloadArchive('the WordPress archive', $wpUrl); - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - - $keys = array( - 'project_id' => '', - 'db_instance' => 'wp', - 'db_name' => 'wp', - 'db_user' => 'wp', - 'db_password' => '', - ); - if ($env === self::STANDARD_ENV) { - $output->writeln('Downloading the Batcache plugin...'); - $project->downloadArchive( - 'Batcache plugin', self::LATEST_BATCACHE, - '/wordpress/wp-content/plugins' - ); - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - - $output->writeln('Downloading the Memcached plugin...'); - $project->downloadArchive( - 'Memcached plugin', self::LATEST_MEMCACHED, - '/wordpress/wp-content/plugins' - ); - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - - $output->writeln('Copying drop-ins...'); - $dir = $project->getDir(); - copy( - $dir . '/wordpress/wp-content/plugins/batcache/advanced-cache.php', - $dir . '/wordpress/wp-content/advanced-cache.php' - ); - copy( - $dir . '/wordpress/wp-content/plugins/memcached/object-cache.php', - $dir . '/wordpress/wp-content/object-cache.php' - ); - $copyFiles = array( - 'app.yaml' => '/', - 'cron.yaml' => '/', - 'composer.json' => '/', - 'php.ini' => '/', - 'wp-config.php' => '/wordpress/', - ); - $templateDir = __DIR__ . '/files/standard'; - $output->writeln('Downloading the appengine-wordpress plugin...'); - $project->downloadArchive( - 'App Engine WordPress plugin', self::LATEST_GAE_WP, - '/wordpress/wp-content/plugins' - ); - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - } else { - // Download gcs plugin - $project->downloadArchive( - 'GCS plugin', self::LATEST_GCS_PLUGIN, - '/wordpress/wp-content/plugins' - ); - $copyFiles = array( - 'app.yaml' => '/', - 'cron.yaml' => '/', - 'composer.json' => '/', - 'nginx-app.conf' => '/', - 'php.ini' => '/', - 'wp-config.php' => '/wordpress/', - ); - $templateDir = __DIR__ . '/files/flexible'; - } - $params = array(); - $this->askParameters($keys, $params, $input, $output, $helper); - $params['db_connection'] = sprintf( - $db_connection_pattern, - $params['project_id'], - $params['db_instance'] - ); - $q = new ConfirmationQuestion( - 'Do you want to use the same db user and password for ' - . 'local run? (Y/n)', - true - ); - if ($helper->ask($input, $output, $q)) { - $params['local_db_user'] = $params['db_user']; - $params['local_db_password'] = $params['db_password']; - } else { - $keys = array( - 'local_db_user' => 'wp', - 'local_db_password' => '', - ); - $this->askParameters($keys, $params, $input, $output, $helper); - } - $this->addAuthKeys($params); - $project->copyFiles($templateDir, $copyFiles, $params); - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - $project->runComposer(); - if (!$this->report($output, $project)) { - return self::DEFAULT_ERROR; - } - $output->writeln( - 'Your WordPress project is ready at ' - . $project->getDir() . '' - ); - return 0; - } -} diff --git a/appengine/wordpress/src/files/flexible/app.yaml b/appengine/wordpress/src/files/flexible/app.yaml deleted file mode 100644 index 60091ad6a9..0000000000 --- a/appengine/wordpress/src/files/flexible/app.yaml +++ /dev/null @@ -1,11 +0,0 @@ -runtime: php -env: flex - -beta_settings: - cloud_sql_instances: {{db_connection}} - -runtime_config: - document_root: wordpress - -env_variables: - WHITELIST_FUNCTIONS: escapeshellarg,escapeshellcmd,exec,pclose,popen,shell_exec,phpversion,php_uname diff --git a/appengine/wordpress/src/files/flexible/composer.json b/appengine/wordpress/src/files/flexible/composer.json deleted file mode 100644 index 8564d59695..0000000000 --- a/appengine/wordpress/src/files/flexible/composer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "require": { - "google/cloud": "~0.21" - }, - "require-dev": { - "wp-cli/wp-cli": "~1.1" - } -} diff --git a/appengine/wordpress/src/files/flexible/cron.yaml b/appengine/wordpress/src/files/flexible/cron.yaml deleted file mode 100644 index c47b1767fa..0000000000 --- a/appengine/wordpress/src/files/flexible/cron.yaml +++ /dev/null @@ -1,4 +0,0 @@ -cron: -- description: wordpress cron tasks - url: /wp-cron.php - schedule: every 15 minutes diff --git a/appengine/wordpress/src/files/flexible/nginx-app.conf b/appengine/wordpress/src/files/flexible/nginx-app.conf deleted file mode 100644 index 1ca9246155..0000000000 --- a/appengine/wordpress/src/files/flexible/nginx-app.conf +++ /dev/null @@ -1,7 +0,0 @@ -location / { - try_files $uri /index.php?q=$uri&$args; -} - -location ~ ^/wp-admin { - try_files $uri $uri/index.php?$args; -} diff --git a/appengine/wordpress/src/files/flexible/php.ini b/appengine/wordpress/src/files/flexible/php.ini deleted file mode 100644 index 598ba94a70..0000000000 --- a/appengine/wordpress/src/files/flexible/php.ini +++ /dev/null @@ -1,3 +0,0 @@ -extension=bcmath.so -extension=gd.so -zend_extension=opcache.so diff --git a/appengine/wordpress/src/files/flexible/wp-config.php b/appengine/wordpress/src/files/flexible/wp-config.php deleted file mode 100644 index a6a8a43693..0000000000 --- a/appengine/wordpress/src/files/flexible/wp-config.php +++ /dev/null @@ -1,124 +0,0 @@ -registerStreamWrapper(); - -// $onGae is true on production. -$onGae = (getenv('GAE_VERSION') !== false); - -// Disable pseudo cron behavior -define('DISABLE_WP_CRON', true); - -// Determine HTTP or HTTPS, then set WP_SITEURL and WP_HOME -if (isset($_SERVER['HTTP_HOST'])) { - define('HTTP_HOST', $_SERVER['HTTP_HOST']); -} else { - define('HTTP_HOST', 'localhost'); -} -// Use https on production. -define('WP_HOME', $onGae ? 'https://' . HTTP_HOST : 'http://' . HTTP_HOST); -define('WP_SITEURL', $onGae ? 'https://' . HTTP_HOST : 'http://' . HTTP_HOST); - -// Force SSL for admin pages -define('FORCE_SSL_ADMIN', $onGae); - -// ** MySQL settings - You can get this info from your web host ** // -if ($onGae) { - /** Production environment */ - define('DB_HOST', ':/cloudsql/{{db_connection}}'); - /** The name of the database for WordPress */ - define('DB_NAME', '{{db_name}}'); - /** MySQL database username */ - define('DB_USER', '{{db_user}}'); - /** MySQL database password */ - define('DB_PASSWORD', '{{db_password}}'); -} else { - /** Local environment */ - define('DB_HOST', '127.0.0.1'); - /** The name of the database for WordPress */ - define('DB_NAME', '{{db_name}}'); - /** MySQL database username */ - define('DB_USER', '{{local_db_user}}'); - /** MySQL database password */ - define('DB_PASSWORD', '{{local_db_password}}'); -} - -/** Database Charset to use in creating database tables. */ -define('DB_CHARSET', 'utf8'); - -/** The Database Collate type. Don't change this if in doubt. */ -define('DB_COLLATE', ''); - -/**#@+ - * Authentication Unique Keys and Salts. - * - * Change these to different unique phrases! - * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} - * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. - * - * @since 2.6.0 - */ - -define('AUTH_KEY', '{{auth_key}}'); -define('SECURE_AUTH_KEY', '{{secure_auth_key}}'); -define('LOGGED_IN_KEY', '{{logged_in_key}}'); -define('NONCE_KEY', '{{nonce_key}}'); -define('AUTH_SALT', '{{auth_salt}}'); -define('SECURE_AUTH_SALT', '{{secure_auth_salt}}'); -define('LOGGED_IN_SALT', '{{logged_in_salt}}'); -define('NONCE_SALT', '{{nonce_salt}}'); - -/**#@-*/ - -/** - * WordPress Database Table prefix. - * - * You can have multiple installations in one database if you give each - * a unique prefix. Only numbers, letters, and underscores please! - */ -$table_prefix = 'wp_'; - -/** - * For developers: WordPress debugging mode. - * - * Change this to true to enable the display of notices during development. - * It is strongly recommended that plugin and theme developers use WP_DEBUG - * in their development environments. - * - * For information on other constants that can be used for debugging, - * visit the Codex. - * - * @link https://codex.wordpress.org/Debugging_in_WordPress - */ -define('WP_DEBUG', !$onGae); - -/* That's all, stop editing! Happy blogging. */ - -/** Absolute path to the WordPress directory. */ -if (!defined('ABSPATH')) { - define('ABSPATH', dirname(__FILE__) . '/'); -} - -/** Sets up WordPress vars and included files. */ -require_once(ABSPATH . 'wp-settings.php'); diff --git a/appengine/wordpress/src/files/standard/app.yaml b/appengine/wordpress/src/files/standard/app.yaml deleted file mode 100644 index 4dc580a270..0000000000 --- a/appengine/wordpress/src/files/standard/app.yaml +++ /dev/null @@ -1,55 +0,0 @@ -runtime: php55 -api_version: 1 - -handlers: -- url: /(.*\.(htm|html|css|js)) - static_files: wordpress/\1 - upload: wordpress/.*\.(htm|html|css|js)$ - application_readable: true - -- url: /wp-content/(.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)) - static_files: wordpress/wp-content/\1 - upload: wordpress/wp-content/.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)$ - application_readable: true - -- url: /(.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)) - static_files: wordpress/\1 - upload: wordpress/.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)$ - application_readable: true - -- url: /wp-includes/images/media/(.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)) - static_files: wordpress/wp-includes/images/media/\1 - upload: wordpress/wp-includes/images/media/.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)$ - application_readable: true - -- url: /wp-admin/(.+) - script: wordpress/wp-admin/\1 - secure: always - -- url: /wp-admin/ - script: wordpress/wp-admin/index.php - secure: always - -- url: /wp-login.php - script: wordpress/wp-login.php - secure: always - -- url: /wp-cron.php - script: wordpress/wp-cron.php - login: admin - -- url: /xmlrpc.php - script: wordpress/xmlrpc.php - -- url: /wp-(.+).php - script: wordpress/wp-\1.php - -- url: /(.+)?/? - script: wordpress/index.php - -skip_files: -- ^(.*/)?\.zip$ -- ^(.*/)?\.bat$ -- ^(.*/)?\.sh$ -- ^(.*/)?\.md$ -- ^vendor diff --git a/appengine/wordpress/src/files/standard/composer.json b/appengine/wordpress/src/files/standard/composer.json deleted file mode 100644 index ae32f28c04..0000000000 --- a/appengine/wordpress/src/files/standard/composer.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "require-dev": { - "wp-cli/wp-cli": "~1.1" - } -} diff --git a/appengine/wordpress/src/files/standard/cron.yaml b/appengine/wordpress/src/files/standard/cron.yaml deleted file mode 100644 index 694aab5231..0000000000 --- a/appengine/wordpress/src/files/standard/cron.yaml +++ /dev/null @@ -1,4 +0,0 @@ -cron: -- description: "wordpress cron tasks" - url: /wp-cron.php - schedule: every 15 minutes diff --git a/appengine/wordpress/src/files/standard/php.ini b/appengine/wordpress/src/files/standard/php.ini deleted file mode 100644 index 5fe2210a35..0000000000 --- a/appengine/wordpress/src/files/standard/php.ini +++ /dev/null @@ -1,6 +0,0 @@ -google_app_engine.enable_functions = "php_sapi_name, gc_enabled" -allow_url_include = "1" -upload_max_filesize = 8M - -; enable downloading files for localhost -google_app_engine.disable_readonly_filesystem = 1 diff --git a/appengine/wordpress/src/files/standard/wp-config.php b/appengine/wordpress/src/files/standard/wp-config.php deleted file mode 100644 index d179266696..0000000000 --- a/appengine/wordpress/src/files/standard/wp-config.php +++ /dev/null @@ -1,127 +0,0 @@ - 0, - 'max_age' => 30 * 60, // 30 minutes - 'debug' => false -]; - -// Disable pseudo cron behavior -define('DISABLE_WP_CRON', true); - -// Determine HTTP or HTTPS, then set WP_SITEURL and WP_HOME -if ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') - || (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443)) { - $protocol_to_use = 'https://'; -} else { - $protocol_to_use = 'http://'; -} -if (isset($_SERVER['HTTP_HOST'])) { - define('HTTP_HOST', $_SERVER['HTTP_HOST']); -} else { - define('HTTP_HOST', 'localhost'); -} -define('WP_SITEURL', $protocol_to_use . HTTP_HOST); -define('WP_HOME', $protocol_to_use . HTTP_HOST); - -// ** MySQL settings - You can get this info from your web host ** // -if ($onGae) { - /** The name of the Cloud SQL database for WordPress */ - define('DB_NAME', '{{db_name}}'); - /** Production login info */ - define('DB_HOST', ':/cloudsql/{{db_connection}}'); - define('DB_USER', '{{db_user}}'); - define('DB_PASSWORD', '{{db_password}}'); -} else { - /** The name of the local database for WordPress */ - define('DB_NAME', '{{db_name}}'); - /** Local environment MySQL login info */ - define('DB_HOST', '127.0.0.1'); - define('DB_USER', '{{local_db_user}}'); - define('DB_PASSWORD', '{{local_db_password}}'); -} - -/** Database Charset to use in creating database tables. */ -define('DB_CHARSET', 'utf8'); - -/** The Database Collate type. Don't change this if in doubt. */ -define('DB_COLLATE', ''); - -/**#@+ - * Authentication Unique Keys and Salts. - * - * Change these to different unique phrases! - * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} - * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. - * - * @since 2.6.0 - */ -define('AUTH_KEY', '{{auth_key}}'); -define('SECURE_AUTH_KEY', '{{secure_auth_key}}'); -define('LOGGED_IN_KEY', '{{logged_in_key}}'); -define('NONCE_KEY', '{{nonce_key}}'); -define('AUTH_SALT', '{{auth_salt}}'); -define('SECURE_AUTH_SALT', '{{secure_auth_salt}}'); -define('LOGGED_IN_SALT', '{{logged_in_salt}}'); -define('NONCE_SALT', '{{nonce_salt}}'); - -/**#@-*/ -/** - * WordPress Database Table prefix. - * - * You can have multiple installations in one database if you give each a unique - * prefix. Only numbers, letters, and underscores please! - */ -$table_prefix = 'wp_'; - -/** - * WordPress Localized Language, defaults to English. - * - * Change this to localize WordPress. A corresponding MO file for the chosen - * language must be installed to wp-content/languages. For example, install - * de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German - * language support. - */ -define('WPLANG', ''); - -/** - * For developers: WordPress debugging mode. - * - * Change this to true to enable the display of notices during development. - * It is strongly recommended that plugin and theme developers use WP_DEBUG - * in their development environments. - */ -define('WP_DEBUG', !$onGae); - -/* That's all, stop editing! Happy blogging. */ -/** Absolute path to the WordPress directory. */ -if (!defined('ABSPATH')) { - define('ABSPATH', dirname(__FILE__) . '/wordpress/'); -} - -/** Sets up WordPress vars and included files. */ -require_once(ABSPATH . 'wp-settings.php'); diff --git a/appengine/wordpress/test/DeployFlexTest.php b/appengine/wordpress/test/DeployFlexTest.php deleted file mode 100644 index bd75e990e2..0000000000 --- a/appengine/wordpress/test/DeployFlexTest.php +++ /dev/null @@ -1,131 +0,0 @@ -client = new Client(['base_uri' => $url]); - } - - public function testIndex() - { - // Access the blog top page - $resp = $this->client->get(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - $this->assertContains( - 'I am very glad that you are testing WordPress instalation.', - $resp->getBody()->getContents()); - } -} diff --git a/appengine/wordpress/test/DeployStandardTest.php b/appengine/wordpress/test/DeployStandardTest.php deleted file mode 100644 index fe2105618a..0000000000 --- a/appengine/wordpress/test/DeployStandardTest.php +++ /dev/null @@ -1,131 +0,0 @@ -client = new Client(['base_uri' => $url]); - } - - public function testIndex() - { - // Access the blog top page - $resp = $this->client->get(''); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - $this->assertContains( - 'I am very glad that you are testing WordPress instalation.', - $resp->getBody()->getContents()); - } -} diff --git a/appengine/wordpress/wordpress-helper.php b/appengine/wordpress/wordpress-helper.php deleted file mode 100644 index 1131d78e56..0000000000 --- a/appengine/wordpress/wordpress-helper.php +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env php -add($command); -$application->run(); From 8231753e6f5acd23ca9a178b5df6d17fd7d1e071 Mon Sep 17 00:00:00 2001 From: Suguru Shirai Date: Sat, 9 Sep 2017 12:16:18 +0900 Subject: [PATCH 02/17] Delete bigquery sample --- bigquery/api/README.md | 43 - bigquery/api/bigquery.php | 40 - bigquery/api/composer.json | 33 - bigquery/api/composer.lock | 2191 ----------------- bigquery/api/phpunit.xml.dist | 32 - bigquery/api/src/BrowseTableCommand.php | 98 - bigquery/api/src/CopyTableCommand.php | 100 - bigquery/api/src/DatasetsCommand.php | 63 - bigquery/api/src/ExportCommand.php | 126 - bigquery/api/src/ImportCommand.php | 166 -- bigquery/api/src/ProjectIdTrait.php | 36 - bigquery/api/src/ProjectsCommand.php | 72 - bigquery/api/src/QueryCommand.php | 114 - bigquery/api/src/SchemaCommand.php | 268 -- bigquery/api/src/TablesCommand.php | 71 - .../api/src/functions/bigquery_client.php | 35 - bigquery/api/src/functions/browse_table.php | 100 - bigquery/api/src/functions/copy_table.php | 63 - bigquery/api/src/functions/create_dataset.php | 41 - bigquery/api/src/functions/create_table.php | 61 - bigquery/api/src/functions/delete_table.php | 45 - bigquery/api/src/functions/export_table.php | 72 - .../api/src/functions/import_from_file.php | 75 - .../api/src/functions/import_from_storage.php | 78 - bigquery/api/src/functions/insert_sql.php | 53 - bigquery/api/src/functions/list_datasets.php | 42 - bigquery/api/src/functions/list_projects.php | 46 - bigquery/api/src/functions/list_tables.php | 58 - bigquery/api/src/functions/run_query.php | 72 - .../api/src/functions/run_query_as_job.php | 77 - bigquery/api/src/functions/stream_row.php | 69 - bigquery/api/test/BrowseTableCommandTest.php | 67 - bigquery/api/test/CopyTableCommandTest.php | 110 - bigquery/api/test/DatasetsCommandTest.php | 62 - bigquery/api/test/ExportCommandTest.php | 213 -- bigquery/api/test/FunctionsTest.php | 55 - bigquery/api/test/ImportCommandTest.php | 342 --- bigquery/api/test/ProjectsCommandTest.php | 59 - bigquery/api/test/QueryCommandTest.php | 200 -- bigquery/api/test/SchemaCommandTest.php | 220 -- bigquery/api/test/TablesCommandTest.php | 63 - bigquery/api/test/data/test_data.csv | 3 - bigquery/api/test/data/test_data.json | 3 - bigquery/api/test/data/test_data.sql | 8 - bigquery/quickstart/composer.json | 9 - bigquery/quickstart/composer.lock | 1760 ------------- bigquery/quickstart/phpunit.xml.dist | 31 - bigquery/quickstart/quickstart.php | 41 - bigquery/quickstart/test/quickstartTest.php | 51 - bigquery/shakespeare/README.md | 32 - bigquery/shakespeare/composer.json | 8 - bigquery/shakespeare/composer.lock | 1758 ------------- bigquery/shakespeare/phpunit.xml.dist | 32 - bigquery/shakespeare/shakespeare.php | 63 - bigquery/shakespeare/test/shakespeareTest.php | 68 - 55 files changed, 9698 deletions(-) delete mode 100644 bigquery/api/README.md delete mode 100644 bigquery/api/bigquery.php delete mode 100644 bigquery/api/composer.json delete mode 100644 bigquery/api/composer.lock delete mode 100644 bigquery/api/phpunit.xml.dist delete mode 100644 bigquery/api/src/BrowseTableCommand.php delete mode 100644 bigquery/api/src/CopyTableCommand.php delete mode 100644 bigquery/api/src/DatasetsCommand.php delete mode 100644 bigquery/api/src/ExportCommand.php delete mode 100644 bigquery/api/src/ImportCommand.php delete mode 100644 bigquery/api/src/ProjectIdTrait.php delete mode 100644 bigquery/api/src/ProjectsCommand.php delete mode 100644 bigquery/api/src/QueryCommand.php delete mode 100644 bigquery/api/src/SchemaCommand.php delete mode 100644 bigquery/api/src/TablesCommand.php delete mode 100644 bigquery/api/src/functions/bigquery_client.php delete mode 100644 bigquery/api/src/functions/browse_table.php delete mode 100644 bigquery/api/src/functions/copy_table.php delete mode 100644 bigquery/api/src/functions/create_dataset.php delete mode 100644 bigquery/api/src/functions/create_table.php delete mode 100644 bigquery/api/src/functions/delete_table.php delete mode 100644 bigquery/api/src/functions/export_table.php delete mode 100644 bigquery/api/src/functions/import_from_file.php delete mode 100644 bigquery/api/src/functions/import_from_storage.php delete mode 100644 bigquery/api/src/functions/insert_sql.php delete mode 100644 bigquery/api/src/functions/list_datasets.php delete mode 100644 bigquery/api/src/functions/list_projects.php delete mode 100644 bigquery/api/src/functions/list_tables.php delete mode 100644 bigquery/api/src/functions/run_query.php delete mode 100644 bigquery/api/src/functions/run_query_as_job.php delete mode 100644 bigquery/api/src/functions/stream_row.php delete mode 100644 bigquery/api/test/BrowseTableCommandTest.php delete mode 100644 bigquery/api/test/CopyTableCommandTest.php delete mode 100644 bigquery/api/test/DatasetsCommandTest.php delete mode 100644 bigquery/api/test/ExportCommandTest.php delete mode 100644 bigquery/api/test/FunctionsTest.php delete mode 100644 bigquery/api/test/ImportCommandTest.php delete mode 100644 bigquery/api/test/ProjectsCommandTest.php delete mode 100644 bigquery/api/test/QueryCommandTest.php delete mode 100644 bigquery/api/test/SchemaCommandTest.php delete mode 100644 bigquery/api/test/TablesCommandTest.php delete mode 100644 bigquery/api/test/data/test_data.csv delete mode 100644 bigquery/api/test/data/test_data.json delete mode 100644 bigquery/api/test/data/test_data.sql delete mode 100644 bigquery/quickstart/composer.json delete mode 100644 bigquery/quickstart/composer.lock delete mode 100644 bigquery/quickstart/phpunit.xml.dist delete mode 100644 bigquery/quickstart/quickstart.php delete mode 100644 bigquery/quickstart/test/quickstartTest.php delete mode 100644 bigquery/shakespeare/README.md delete mode 100644 bigquery/shakespeare/composer.json delete mode 100644 bigquery/shakespeare/composer.lock delete mode 100644 bigquery/shakespeare/phpunit.xml.dist delete mode 100644 bigquery/shakespeare/shakespeare.php delete mode 100644 bigquery/shakespeare/test/shakespeareTest.php diff --git a/bigquery/api/README.md b/bigquery/api/README.md deleted file mode 100644 index fadd2c6d9b..0000000000 --- a/bigquery/api/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# Google BigQuery PHP Sample Application - -## Description - -This simple command-line application demonstrates how to invoke Google BigQuery from PHP. - -## Build and Run -1. **Enable APIs** - [Enable the BigQuery API](https://console.cloud.google.com/flows/enableapi?apiid=bigquery) - and create a new project or select an existing project. -2. **Download The Credentials** - Click "Go to credentials" after enabling the APIs. Click "New Credentials" - and select "Service Account Key". Create a new service account, use the JSON key type, and - select "Create". Once downloaded, set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` - to the path of the JSON key that was downloaded. -3. **Clone the repo** and cd into this directory - - ```sh - $ git clone https://github.com/GoogleCloudPlatform/php-docs-samples - $ cd php-docs-samples/bigquery/api -``` -4. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). -5. Run `php bigquery.php`. The following commands are available: - - ```sh - browse-table Browse a BigQuery table - datasets List BigQuery datasets - export Export data from a BigQuery table into a Cloud Storage bucket - import Import data into a BigQuery table - projects List BigQuery projects - query Run a BigQuery query - schema Create or delete a table schema in BigQuery - tables List BigQuery tables -6. Run `php bigquery.php COMMAND --help` to print information about the usage of each command. -``` - -## Contributing changes - -* See [CONTRIBUTING.md](../../CONTRIBUTING.md) - -## Licensing - -* See [LICENSE](../../LICENSE) diff --git a/bigquery/api/bigquery.php b/bigquery/api/bigquery.php deleted file mode 100644 index 90d141b255..0000000000 --- a/bigquery/api/bigquery.php +++ /dev/null @@ -1,40 +0,0 @@ -add(new BrowseTableCommand()); -$application->add(new CopyTableCommand()); -$application->add(new DatasetsCommand()); -$application->add(new ExportCommand()); -$application->add(new ImportCommand()); -$application->add(new ProjectsCommand()); -$application->add(new QueryCommand()); -$application->add(new SchemaCommand()); -$application->add(new TablesCommand()); -$application->run(); diff --git a/bigquery/api/composer.json b/bigquery/api/composer.json deleted file mode 100644 index 89c2660fdd..0000000000 --- a/bigquery/api/composer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "require": { - "google/cloud-bigquery": "^0.2", - "google/cloud-storage": "^1.0", - "symfony/console": "^3.0" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "phpunit/phpunit": "~4" - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Samples\\BigQuery\\": "src/" - }, - "files": [ - "src/functions/browse_table.php", - "src/functions/copy_table.php", - "src/functions/create_dataset.php", - "src/functions/create_table.php", - "src/functions/delete_table.php", - "src/functions/export_table.php", - "src/functions/import_from_file.php", - "src/functions/import_from_storage.php", - "src/functions/insert_sql.php", - "src/functions/list_datasets.php", - "src/functions/list_projects.php", - "src/functions/list_tables.php", - "src/functions/run_query.php", - "src/functions/run_query_as_job.php", - "src/functions/stream_row.php" - ] - } -} diff --git a/bigquery/api/composer.lock b/bigquery/api/composer.lock deleted file mode 100644 index 546b6125ae..0000000000 --- a/bigquery/api/composer.lock +++ /dev/null @@ -1,2191 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "255a9aa6b04703dd5804c87eb8750d36", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-bigquery", - "version": "v0.2.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-bigquery.git", - "reference": "08014e435c1d1f757610c410a81e51512d48e79d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-bigquery/zipball/08014e435c1d1f757610c410a81e51512d48e79d", - "reference": "08014e435c1d1f757610c410a81e51512d48e79d", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/cloud-storage": "Makes it easier to load data from Cloud Storage into BigQuery" - }, - "type": "library", - "extra": { - "component": { - "displayName": "Google Cloud BigQuery", - "id": "cloud-bigquery", - "target": "GoogleCloudPlatform/google-cloud-php-bigquery.git", - "path": "src/BigQuery", - "entry": "BigQueryClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\BigQuery\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "BigQuery Client for PHP", - "time": "2017-05-18T15:22:19+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-storage", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-storage.git", - "reference": "459953f5879497fe61ffea2359bd06c801f60be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-storage/zipball/459953f5879497fe61ffea2359bd06c801f60be1", - "reference": "459953f5879497fe61ffea2359bd06c801f60be1", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-storage", - "target": "GoogleCloudPlatform/google-cloud-php-storage.git", - "path": "src/Storage", - "entry": "StorageClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Storage\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Storage Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "symfony/console", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "c80e63f3f5e3a331bfc25e6e9332b10422eb9b05" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c80e63f3f5e3a331bfc25e6e9332b10422eb9b05", - "reference": "c80e63f3f5e3a331bfc25e6e9332b10422eb9b05", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/dependency-injection": "~3.3", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-28T14:08:56+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "ef5f19a7a68075a0bd05969a329ead3b0776fb7a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/ef5f19a7a68075a0bd05969a329ead3b0776fb7a", - "reference": "ef5f19a7a68075a0bd05969a329ead3b0776fb7a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-27T16:02:27+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "reference": "c2c8ceb1aa9dab9eae54e9150e6a588ce3e53be1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:14:56+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "reference": "fc2c588ce376e9fe04a7b8c79e3ec62fe32d95b1", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-05-25T23:10:31+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/885db865f6b2b918404a1fae28f9ac640f71f994", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-28T10:56:20+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/bigquery/api/phpunit.xml.dist b/bigquery/api/phpunit.xml.dist deleted file mode 100644 index 3587a066b4..0000000000 --- a/bigquery/api/phpunit.xml.dist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - test - - - - - - - - bigquery.php - ./src - - - diff --git a/bigquery/api/src/BrowseTableCommand.php b/bigquery/api/src/BrowseTableCommand.php deleted file mode 100644 index 8ad600f9f8..0000000000 --- a/bigquery/api/src/BrowseTableCommand.php +++ /dev/null @@ -1,98 +0,0 @@ -setName('browse-table') - ->setDescription('Browse a BigQuery table') - ->setHelp(<<%command.name% command outputs the rows of a BigQuery table. - - php %command.full_name% DATASET.TABLE - -EOF - ) - ->addArgument( - 'dataset.table', - InputArgument::REQUIRED, - 'The dataset to list tables' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ->addOption( - 'max-results', - null, - InputOption::VALUE_REQUIRED, - 'The number of rows to return on each API call.', - 10 - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->detectProjectId(); - } - $maxResults = $input->getOption('max-results'); - $fullTableName = $input->getArgument('dataset.table'); - if (1 !== substr_count($fullTableName, '.')) { - throw new InvalidArgumentException('Table must in the format "dataset.table"'); - } - list($datasetId, $tableId) = explode('.', $fullTableName); - - // create the function to determine if we should paginate - $question = $this->getHelper('question'); - $q = new ConfirmationQuestion('[Press enter for next page, "n" to exit]'); - $shouldPaginate = function () use ($input, $output, $question, $q) { - if (!$input->isInteractive()) { - return false; - } - - return $question->ask($input, $output, $q); - }; - - $totalRows = paginate_table($projectId, $datasetId, $tableId, $maxResults, $shouldPaginate); - - printf('Found %s row(s)' . PHP_EOL, $totalRows); - } -} diff --git a/bigquery/api/src/CopyTableCommand.php b/bigquery/api/src/CopyTableCommand.php deleted file mode 100644 index abfec0fa9c..0000000000 --- a/bigquery/api/src/CopyTableCommand.php +++ /dev/null @@ -1,100 +0,0 @@ -setName('copy-table') - ->setDescription('Copy a BigQuery table into another BigQuery table') - ->setHelp(<<%command.name% command copies your data and schema from a BigQuery -table into another BigQuery Table. - - php %command.full_name% DATASET SOURCE_TABLE DESTINATION_TABLE - - -EOF - ) - ->addArgument( - 'dataset', - InputArgument::REQUIRED, - 'The dataset for the copy' - ) - ->addArgument( - 'source-table', - InputArgument::REQUIRED, - 'The BigQuery table to copy from' - ) - ->addArgument( - 'destination-table', - InputArgument::REQUIRED, - 'The BigQuery table to copy to' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $datasetId = $input->getArgument('dataset'); - $sourceTableId = $input->getArgument('source-table'); - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $sourceTable = $dataset->table($sourceTableId); - $destinationTableId = $input->getArgument('destination-table'); - if (!$dataset->exists()) { - throw new InvalidArgumentException('The supplied dataset does not exist for this project'); - } - if (!$sourceTable->exists()) { - throw new InvalidArgumentException('The supplied source table does not exist for this project. '); - } - $message = sprintf('Copying table for project %s', $projectId); - $output->writeln($message); - - copy_table($projectId, $datasetId, $sourceTableId, $destinationTableId); - } -} diff --git a/bigquery/api/src/DatasetsCommand.php b/bigquery/api/src/DatasetsCommand.php deleted file mode 100644 index cdc2aadd11..0000000000 --- a/bigquery/api/src/DatasetsCommand.php +++ /dev/null @@ -1,63 +0,0 @@ -setName('datasets') - ->setDescription('List BigQuery datasets') - ->setHelp(<<%command.name% command lists all the datasets associated with your project. - - php %command.full_name% - -EOF - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - list_datasets($projectId); - } -} diff --git a/bigquery/api/src/ExportCommand.php b/bigquery/api/src/ExportCommand.php deleted file mode 100644 index b2e3e27825..0000000000 --- a/bigquery/api/src/ExportCommand.php +++ /dev/null @@ -1,126 +0,0 @@ -setName('export') - ->setDescription('Export data from a BigQuery table into a Cloud Storage bucket') - ->setHelp(<<%command.name% command exports your data from BigQuery into -Google Cloud Storage. - -Export a CSV file - - php %command.full_name% DATASET.TABLE gs://my_bucket/my_object - -Export a JSON file - - php %command.full_name% DATASET.TABLE gs://my_bucket/my_object --format=JSON - -EOF - ) - ->addArgument( - 'dataset.table', - InputArgument::REQUIRED, - 'The destination table for the import' - ) - ->addArgument( - 'destination', - InputArgument::REQUIRED, - 'The fully walified path to a Google Cloud Storage location. ' . - 'e.g. gs://mybucket/myfolder/' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - )->addOption( - 'format', - null, - InputOption::VALUE_REQUIRED, - 'The format to export in. One of "csv", "json", or "avro".', - 'csv' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $fullTableName = $input->getArgument('dataset.table'); - if (1 !== substr_count($fullTableName, '.')) { - throw new InvalidArgumentException('Table must in the format "dataset.table"'); - } - list($datasetId, $tableId) = explode('.', $fullTableName); - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - $destination = $input->getArgument('destination'); - if (!$dataset->exists()) { - throw new InvalidArgumentException('The supplied dataset does not exist for this project'); - } - if (!$table->exists()) { - throw new InvalidArgumentException('The supplied table does not exist for this project. '); - } - $message = sprintf('Exporting table for project %s', $projectId); - $output->writeln($message); - - if (0 !== strpos($destination, 'gs://')) { - throw new InvalidArgumentException('Destination must start with "gs://" for Cloud Storage'); - } - $destination = substr($destination, 5); - if (false === strpos($destination, '/')) { - throw new InvalidArgumentException('Destination does not contain object name'); - } - list($bucketName, $objectName) = explode('/', $destination, 2); - $format = strtoupper($input->getOption('format')); - if ($format === 'JSON') { - $format = 'NEWLINE_DELIMITED_JSON'; - } - if (!in_array($format, ['CSV', 'NEWLINE_DELIMITED_JSON', 'AVRO'])) { - throw new InvalidArgumentException('Invalid format'); - } - - export_table($projectId, $datasetId, $tableId, $bucketName, $objectName, $format); - } -} diff --git a/bigquery/api/src/ImportCommand.php b/bigquery/api/src/ImportCommand.php deleted file mode 100644 index 382316a886..0000000000 --- a/bigquery/api/src/ImportCommand.php +++ /dev/null @@ -1,166 +0,0 @@ -setName('import') - ->setDescription('Import data into a BigQuery table') - ->setHelp(<<%command.name% command imports your data into BigQuery from -a file, Datastore, or Cloud Storage. - -Import a JSON file - - php %command.full_name% DATASET.TABLE /path/to/my_data.json - -Import from Google Cloud Storage - - php %command.full_name% DATASET.TABLE gs://my_bucket/my_data.csv - -Import from Google Datastore - - php %command.full_name% DATASET.TABLE gs://my_bucket/datastore_entity.backup_info - -Stream data into BigQuery - - php %command.full_name% DATASET.TABLE - -EOF - ) - ->addArgument( - 'dataset.table', - InputArgument::REQUIRED, - 'The destination table for the import' - ) - ->addArgument( - 'source', - InputArgument::OPTIONAL, - 'The filepath, datastore key, or GCS object path to use.' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $question = $this->getHelper('question'); - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $message = sprintf('Using project %s', $projectId); - $output->writeln($message); - $source = $input->getArgument('source'); - $isSqlImport = 'sql' === substr((string) $source, -3); - $isDatastoreBackup = '.backup_info' === substr($source, -12); - $fullTableName = $input->getArgument('dataset.table'); - if (1 !== substr_count($fullTableName, '.')) { - if (!$isSqlImport) { - throw new InvalidArgumentException('Table must in the format "dataset.table"'); - } - list($datasetId, $tableId) = [$fullTableName, '']; - } else { - list($datasetId, $tableId) = explode('.', $fullTableName); - } - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - if (!$dataset->exists()) { - throw new InvalidArgumentException('The supplied dataset does not exist for this project'); - } - if (!$isDatastoreBackup && !$isSqlImport) { - if (!$table->exists()) { - throw new InvalidArgumentException('The supplied table does not exist for this project. ' . - 'Create a schema in the UI or use the "schema" command'); - } - } - if (empty($source)) { - $info = $table->info(); - $data = $this->getRowData($info['schema']['fields'], $question, $input, $output); - stream_row($projectId, $datasetId, $tableId, $data); - } elseif (0 === strpos($source, 'gs://')) { - $source = substr($source, 5); - if (false === strpos($source, '/')) { - throw new InvalidArgumentException('Source does not contain object name'); - } - list($bucketName, $objectName) = explode('/', $source, 2); - import_from_storage($projectId, $datasetId, $tableId, $bucketName, $objectName); - } else { - if (!(file_exists($source) && is_readable($source))) { - throw new InvalidArgumentException('Source file does not exist or is not readable'); - } - if ($isSqlImport) { - insert_sql($projectId, $datasetId, $source); - } else { - import_from_file($projectId, $datasetId, $tableId, $source); - } - } - } - - private function getRowData($fields, $question, $input, $output) - { - $data = []; - foreach ($fields as $field) { - if ($field['type'] === 'RECORD') { - throw new Exception('Field type RECORD not supported for streaming. Use JSON or Datastore'); - } - $required = $field['mode'] === 'REQUIRED'; - $repeated = $askAgain = $field['mode'] === 'REPEATED'; - $q = new Question(sprintf('%s%s: ', $field['name'], $required ? ' (required)' : '')); - $answers = []; - do { - if ($answer = $question->ask($input, $output, $q)) { - $answers[] = $answer; - } else { - $askAgain = false; - } - } while ($askAgain); - $data[$field['name']] = $repeated ? $answers : array_shift($answers); - } - - return $data; - } -} diff --git a/bigquery/api/src/ProjectIdTrait.php b/bigquery/api/src/ProjectIdTrait.php deleted file mode 100644 index 453d330bec..0000000000 --- a/bigquery/api/src/ProjectIdTrait.php +++ /dev/null @@ -1,36 +0,0 @@ -/dev/null", $output, $return_var); - - if (0 === $return_var) { - return array_pop($output); - } - - throw new \Exception('Could not derive a project ID from gcloud. ' . - 'You must supply a project ID using --project'); - } -} diff --git a/bigquery/api/src/ProjectsCommand.php b/bigquery/api/src/ProjectsCommand.php deleted file mode 100644 index b2a4b0075b..0000000000 --- a/bigquery/api/src/ProjectsCommand.php +++ /dev/null @@ -1,72 +0,0 @@ -setName('projects') - ->setDescription('List BigQuery projects') - ->setHelp(<<%command.name% command lists all the projects associated with BigQuery. - - php %command.full_name% - -EOF - ) - ->addOption( - 'max-results', - null, - InputOption::VALUE_REQUIRED, - 'The maximum number of projects to list.', - 50 - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$keyFile = CredentialsLoader::fromWellKnownFile()) { - throw new Exception('Could not derive a key file. Run "gcloud auth login".'); - } - list_projects($input->getOption('max-results')); - } - - private function getAccessTokenFromGcloud() - { - exec('gcloud beta auth application-default print-access-token 2>/dev/null', $output, $return_var); - - if (0 === $return_var) { - return array_pop($output); - } - } -} diff --git a/bigquery/api/src/QueryCommand.php b/bigquery/api/src/QueryCommand.php deleted file mode 100644 index e83768557c..0000000000 --- a/bigquery/api/src/QueryCommand.php +++ /dev/null @@ -1,114 +0,0 @@ -setName('query') - ->setDescription('Run a BigQuery query') - ->setHelp(<<%command.name% command queries your dataset. - - %command.full_name% "SELECT TOP(corpus, 3) as title, COUNT(*) as unique_words FROM [publicdata:samples.shakespeare]" - -EOF - ) - ->addArgument( - 'query', - InputArgument::OPTIONAL, - 'The query to run' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ->addOption( - 'sync', - null, - InputOption::VALUE_NONE, - 'run the query syncronously' - ) - ->addOption( - 'standard-sql', - null, - InputOption::VALUE_NONE, - 'run the query using standard SQL instead of legacy SQL syntax' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $question = $this->getHelper('question'); - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $message = sprintf('Running query for project %s', $projectId); - $output->writeln($message); - if (!$query = $input->getArgument('query')) { - if ($input->isInteractive()) { - $q = new Question('Enter your query: '); - $query = $question->ask($input, $output, $q); - } else { - throw new Exception('You must supply a query argument'); - } - } - - try { - if ($input->getOption('sync')) { - run_query( - $projectId, - $query, - !$input->getOption('standard-sql')); - } else { - run_query_as_job( - $projectId, - $query, - !$input->getOption('standard-sql')); - } - } catch (BadRequestException $e) { - $response = $e->getServiceException()->getResponse(); - $errorJson = json_decode((string) $response->getBody(), true); - $error = $errorJson['error']['errors'][0]['message']; - $output->writeln(sprintf('%s', $error)); - throw $e; - } - } -} diff --git a/bigquery/api/src/SchemaCommand.php b/bigquery/api/src/SchemaCommand.php deleted file mode 100644 index d10e54e377..0000000000 --- a/bigquery/api/src/SchemaCommand.php +++ /dev/null @@ -1,268 +0,0 @@ -setName('schema') - ->setDescription('Create or delete a table schema in BigQuery') - ->setHelp(<<%command.name% command is a tool for creating a BigQuery table -and defining a schema. - - php %command.full_name% DATASET path/to/schema.json - -If a schema file is not supplied, you can create a schema interactively. - - php %command.full_name% DATASET - -The %command.name% command also allows the deletion of tables. - - php %command.full_name% DATASET.TABLE --delete - -EOF - ) - ->addArgument( - 'dataset.table', - InputArgument::REQUIRED, - 'The table to be created or deleted' - ) - ->addArgument( - 'schema-json', - InputArgument::OPTIONAL, - 'A file containing a JSON schema for the table' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ->addOption( - 'delete', - null, - InputOption::VALUE_NONE, - 'Provide this option without a "schema-json" argument to delete the BigQuery table' - ) - ->addOption( - 'no-confirmation', - null, - InputOption::VALUE_NONE, - 'If set, this utility will not prompt when deleting a table with "--delete"' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $question = $this->getHelper('question'); - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $message = sprintf('Using project %s', $projectId); - $output->writeln($message); - - $fullTableName = $input->getArgument('dataset.table'); - if (1 !== substr_count($fullTableName, '.')) { - throw new InvalidArgumentException('Table must in the format "dataset.table"'); - } - list($datasetId, $tableId) = explode('.', $fullTableName); - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - if (!$dataset->exists()) { - if ($input->getOption('delete')) { - throw new InvalidArgumentException('The supplied dataset does not exist'); - } - if (!$input->getOption('no-confirmation')) { - if (!$input->isInteractive()) { - throw new LogicException('"no-confirmation" is required to create a dataset if the command is not interactive'); - } - $message = sprintf('Dataset %s does not exist. Create it? [y/n]: ', $datasetId); - $q = new ConfirmationQuestion($message); - if (!$question->ask($input, $output, $q)) { - return $output->writeln('Task cancelled by user.'); - } - } - $dataset = create_dataset($projectId, $datasetId); - } - - if ($input->getOption('delete')) { - if ($input->getArgument('schema-json')) { - throw new LogicException('Cannot supply "--delete" with the "schema-json" argument'); - } - if (!$table->exists()) { - throw new InvalidArgumentException('The supplied table does not exist'); - } - if (!$input->isInteractive() && !$input->getOption('no-confirmation')) { - throw new LogicException( - '"no-confirmation" is required for deletion if the command is not interactive'); - } - if (!$input->getOption('no-confirmation')) { - $message = sprintf( - 'Are you sure you want to delete the BigQuery table "%s"? [y/n]: ', - $tableId - ); - if (!$question->ask($input, $output, new ConfirmationQuestion($message))) { - return $output->writeln('Task cancelled by user.'); - } - } - delete_table($projectId, $datasetId, $tableId); - - return $output->writeln('Table deleted successfully'); - } elseif ($file = $input->getArgument('schema-json')) { - $fields = json_decode(file_get_contents($file), true); - } else { - if (!$input->isInteractive()) { - throw new LogicException( - '"schema-json" is required if the command is not interactive'); - } - $fields = $this->getFieldSchema($question, $input, $output); - } - $fieldsJson = json_encode($fields, JSON_PRETTY_PRINT); - $message = $fieldsJson . "\nDoes this schema look correct? [y/n]: "; - if ($input->isInteractive()) { - if (!$question->ask($input, $output, new ConfirmationQuestion($message))) { - return $output->writeln('Task cancelled by user.'); - } - } - try { - $schema = ['fields' => $fields]; - create_table($projectId, $datasetId, $tableId, $schema); - } catch (BadRequestException $e) { - $response = $e->getServiceException()->getResponse(); - $errorJson = json_decode((string) $response->getBody(), true); - $error = $errorJson['error']['errors'][0]['message']; - $output->writeln(sprintf('%s', $error)); - throw $e; - } - - $output->writeln('Table created successfully'); - } - - private function getFieldSchema($question, $input, $output, $prefix = '') - { - $schema = []; - $fields = [ - 'name' => null, - 'type' => [ - 'string', - 'bytes', - 'integer', - 'float', - 'boolean', - 'timestamp', - 'date', - 'record', - ], - 'mode' => [ - 'nullable', - 'required', - 'repeated', - ], - ]; - for ($i = 0; true; ++$i) { - $schema[$i] = array(); - foreach ($fields as $field => $choices) { - $message = sprintf('%s%s column %s', - $prefix, - $this->addNumberSuffix($i + 1), - $field - ); - if ($choices) { - $message .= sprintf(' (default: %s): ', $choices[0]); - $q = new ChoiceQuestion($message, $choices, 0); - } else { - $q = new Question($message . ': '); - } - $q->setValidator($this->getNotEmptyValidator()); - $value = $question->ask($input, $output, $q); - $schema[$i][$field] = $choices ? $choices[$value] : $value; - } - - if ($schema[$i]['type'] === 'record') { - $p = sprintf('%s[%s] ', $prefix, $schema[$i]['name']); - $schema[$i]['fields'] = $this->getFieldSchema( - $question, - $input, - $output, - $p - ); - } - - $q = new ConfirmationQuestion(sprintf( - '%sadd another field? [y/n]: ', - $prefix - )); - if (!$question->ask($input, $output, $q)) { - break; - } - } - - return $schema; - } - - private function getNotEmptyValidator() - { - return function ($value) { - if (is_null($value)) { - throw new InvalidArgumentException('value required'); - } - - return $value; - }; - } - - private function addNumberSuffix($i) - { - switch ($i % 10) { - // Handle 1st, 2nd, 3rd - case 1: return $i . 'st'; - case 2: return $i . 'nd'; - case 3: return $i . 'rd'; - } - - return $i . 'th'; - } -} diff --git a/bigquery/api/src/TablesCommand.php b/bigquery/api/src/TablesCommand.php deleted file mode 100644 index 6498442584..0000000000 --- a/bigquery/api/src/TablesCommand.php +++ /dev/null @@ -1,71 +0,0 @@ -setName('tables') - ->setDescription('List BigQuery tables') - ->setHelp(<<%command.name% command lists all the tables associated with BigQuery. - - php %command.full_name% DATASET - -EOF - ) - ->addArgument( - 'dataset', - InputArgument::REQUIRED, - 'The dataset to list tables' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $datasetId = $input->getArgument('dataset'); - - list_tables($projectId, $datasetId); - } -} diff --git a/bigquery/api/src/functions/bigquery_client.php b/bigquery/api/src/functions/bigquery_client.php deleted file mode 100644 index d483f841ba..0000000000 --- a/bigquery/api/src/functions/bigquery_client.php +++ /dev/null @@ -1,35 +0,0 @@ - $projectId, -]); -# [END build_service] -return $bigQuery; diff --git a/bigquery/api/src/functions/browse_table.php b/bigquery/api/src/functions/browse_table.php deleted file mode 100644 index 616f5df70d..0000000000 --- a/bigquery/api/src/functions/browse_table.php +++ /dev/null @@ -1,100 +0,0 @@ - $maxResults, - 'startIndex' => $startIndex - ]; - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - $numRows = 0; - foreach ($table->rows($options) as $row) { - print('---'); - foreach ($row as $column => $value) { - printf('%s: %s' . PHP_EOL, $column, $value); - } - $numRows++; - } - - return $numRows; -} -# [END browse_table] - -# [START paginate_table] -/** - * Paginate through a bigquery table. - * Example: - * ``` - * $shouldPaginateFunc = function () { - * return true; // always paginate - * } - * browse_table($projectId, $datasetId, $tableId); - * ``` - * - * @param string $projectId The Google project ID. - * @param string $datasetId The BigQuery dataset ID. - * @param string $tableId The BigQuery table ID. - * @param string $maxResults The number of results to return at a time. - * @param callable $shouldPaginateFunc function to determine if pagination should continue. - */ -function paginate_table($projectId, $datasetId, $tableId, $maxResults = 10, $shouldPaginateFunc = null) -{ - if (is_null($shouldPaginateFunc)) { - $shouldPaginateFunc = function () { - return true; - }; - } - $totalRows = 0; - do { - $rows = browse_table($projectId, $datasetId, $tableId, $maxResults, $totalRows); - $totalRows += $rows; - } while ($rows && 0 === $totalRows % $maxResults && $shouldPaginateFunc()); - - return $totalRows; -} -# [END paginate_table] diff --git a/bigquery/api/src/functions/copy_table.php b/bigquery/api/src/functions/copy_table.php deleted file mode 100644 index 11dca5103d..0000000000 --- a/bigquery/api/src/functions/copy_table.php +++ /dev/null @@ -1,63 +0,0 @@ - $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $sourceTable = $dataset->table($sourceTableId); - $destinationTable = $dataset->table($destinationTableId); - $job = $sourceTable->copy($destinationTable); - // poll the job until it is complete - $backoff = new ExponentialBackoff(10); - $backoff->execute(function () use ($job) { - print('Waiting for job to complete' . PHP_EOL); - $job->reload(); - if (!$job->isComplete()) { - throw new Exception('Job has not yet completed', 500); - } - }); - // check if the job has errors - if (isset($job->info()['status']['errorResult'])) { - $error = $job->info()['status']['errorResult']['message']; - printf('Error running job: %s' . PHP_EOL, $error); - } else { - print('Table copied successfully' . PHP_EOL); - } -} -# [END copy_table] diff --git a/bigquery/api/src/functions/create_dataset.php b/bigquery/api/src/functions/create_dataset.php deleted file mode 100644 index c2856c8f30..0000000000 --- a/bigquery/api/src/functions/create_dataset.php +++ /dev/null @@ -1,41 +0,0 @@ - $projectId, - ]); - $dataset = $bigQuery->createDataset($datasetId); - return $dataset; -} -# [END create_dataset] diff --git a/bigquery/api/src/functions/create_table.php b/bigquery/api/src/functions/create_table.php deleted file mode 100644 index 1f8af3e7c0..0000000000 --- a/bigquery/api/src/functions/create_table.php +++ /dev/null @@ -1,61 +0,0 @@ - 'field1', - * 'type' => 'string', - * 'mode' => 'required' - * ], - * [ - * 'name' => 'field2', - * 'type' => 'integer' - * ], - * ]; - * $schema = ['fields' => $fields]; - * create_table($projectId, $datasetId, $tableId, $schema); - * ``` - * @param string $projectId The Google project ID. - * @param string $datasetId The BigQuery dataset ID. - * @param string $tableId The BigQuery table ID. - * @param array $schema The BigQuery table schema. - */ -function create_table($projectId, $datasetId, $tableId, $schema) -{ - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $options = ['schema' => $schema]; - $table = $dataset->createTable($tableId, $options); - return $table; -} -# [END create_table] diff --git a/bigquery/api/src/functions/delete_table.php b/bigquery/api/src/functions/delete_table.php deleted file mode 100644 index 443a5979cf..0000000000 --- a/bigquery/api/src/functions/delete_table.php +++ /dev/null @@ -1,45 +0,0 @@ - $projectId, - ]); - # [START get_table] - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - # [END get_table] - $table->delete(); -} -# [END delete_table] diff --git a/bigquery/api/src/functions/export_table.php b/bigquery/api/src/functions/export_table.php deleted file mode 100644 index 6af478e7b6..0000000000 --- a/bigquery/api/src/functions/export_table.php +++ /dev/null @@ -1,72 +0,0 @@ - $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - // load the storage object - $storage = new StorageClient([ - 'projectId' => $projectId, - ]); - $destinationObject = $storage->bucket($bucketName)->object($objectName); - // create the export job - $options = ['jobConfig' => ['destinationFormat' => $format]]; - $job = $table->export($destinationObject, $options); - // poll the job until it is complete - $backoff = new ExponentialBackoff(10); - $backoff->execute(function () use ($job) { - print('Waiting for job to complete' . PHP_EOL); - $job->reload(); - if (!$job->isComplete()) { - throw new Exception('Job has not yet completed', 500); - } - }); - // check if the job has errors - if (isset($job->info()['status']['errorResult'])) { - $error = $job->info()['status']['errorResult']['message']; - printf('Error running job: %s' . PHP_EOL, $error); - } else { - print('Data exported successfully' . PHP_EOL); - } -} -# [END export_table] diff --git a/bigquery/api/src/functions/import_from_file.php b/bigquery/api/src/functions/import_from_file.php deleted file mode 100644 index fc382a020b..0000000000 --- a/bigquery/api/src/functions/import_from_file.php +++ /dev/null @@ -1,75 +0,0 @@ - null]; - if ('csv' === $pathInfo['extension']) { - $options['jobConfig'] = ['sourceFormat' => 'CSV']; - } elseif ('json' === $pathInfo['extension']) { - $options['jobConfig'] = ['sourceFormat' => 'NEWLINE_DELIMITED_JSON']; - } else { - throw new InvalidArgumentException('Source format unknown. Must be JSON or CSV'); - } - // instantiate the bigquery table service - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - // create the import job - $job = $table->load(fopen($source, 'r'), $options); - // poll the job until it is complete - $backoff = new ExponentialBackoff(10); - $backoff->execute(function () use ($job) { - printf('Waiting for job to complete' . PHP_EOL); - $job->reload(); - if (!$job->isComplete()) { - throw new Exception('Job has not yet completed', 500); - } - }); - // check if the job has errors - if (isset($job->info()['status']['errorResult'])) { - $error = $job->info()['status']['errorResult']['message']; - printf('Error running job: %s' . PHP_EOL, $error); - } else { - print('Data imported successfully' . PHP_EOL); - } -} -# [END import_from_file] diff --git a/bigquery/api/src/functions/import_from_storage.php b/bigquery/api/src/functions/import_from_storage.php deleted file mode 100644 index ee93c4c72f..0000000000 --- a/bigquery/api/src/functions/import_from_storage.php +++ /dev/null @@ -1,78 +0,0 @@ - 'DATASTORE_BACKUP']; - } elseif ('.json' === substr($objectName, -5)) { - $options['jobConfig'] = ['sourceFormat' => 'NEWLINE_DELIMITED_JSON']; - } - // instantiate the bigquery table service - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - // load the storage object - $storage = new StorageClient([ - 'projectId' => $projectId, - ]); - $object = $storage->bucket($bucketName)->object($objectName); - // create the import job - $job = $table->loadFromStorage($object, $options); - // poll the job until it is complete - $backoff = new ExponentialBackoff(10); - $backoff->execute(function () use ($job) { - print('Waiting for job to complete' . PHP_EOL); - $job->reload(); - if (!$job->isComplete()) { - throw new Exception('Job has not yet completed', 500); - } - }); - // check if the job has errors - if (isset($job->info()['status']['errorResult'])) { - $error = $job->info()['status']['errorResult']['message']; - printf('Error running job: %s' . PHP_EOL, $error); - } else { - print('Data imported successfully' . PHP_EOL); - } -} -# [END import_from_storage] diff --git a/bigquery/api/src/functions/insert_sql.php b/bigquery/api/src/functions/insert_sql.php deleted file mode 100644 index 7dc8f26dfb..0000000000 --- a/bigquery/api/src/functions/insert_sql.php +++ /dev/null @@ -1,53 +0,0 @@ - $projectId, - ]); - // run a sync query for each line of the import - $file = fopen($source, 'r'); - while ($line = fgets($file)) { - if (0 !== strpos(trim($line), 'INSERT')) { - continue; - } - $bigQuery->runQuery($line, [ - 'useLegacySql' => false, - 'defaultDataset' => ['datasetId' => $datasetId], - ]); - } - print('Data imported successfully' . PHP_EOL); -} -# [END insert_sql] diff --git a/bigquery/api/src/functions/list_datasets.php b/bigquery/api/src/functions/list_datasets.php deleted file mode 100644 index 3e151e0607..0000000000 --- a/bigquery/api/src/functions/list_datasets.php +++ /dev/null @@ -1,42 +0,0 @@ - $projectId, - ]); - $datasets = $bigQuery->datasets(); - foreach ($datasets as $dataset) { - print($dataset->id() . PHP_EOL); - } -} -# [END list_datasets] diff --git a/bigquery/api/src/functions/list_projects.php b/bigquery/api/src/functions/list_projects.php deleted file mode 100644 index 376012d8eb..0000000000 --- a/bigquery/api/src/functions/list_projects.php +++ /dev/null @@ -1,46 +0,0 @@ - $scopes, - 'keyFile' => $keyFile, - ]); - $result = $connection->send('projects', 'list', [ - 'maxResults' => $maxResults, - ]); - foreach ($result['projects'] as $project) { - print($project['id'] . PHP_EOL); - } -} -# [END list_projects] diff --git a/bigquery/api/src/functions/list_tables.php b/bigquery/api/src/functions/list_tables.php deleted file mode 100644 index 68e4241512..0000000000 --- a/bigquery/api/src/functions/list_tables.php +++ /dev/null @@ -1,58 +0,0 @@ - $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $tables = $dataset->tables(); - foreach ($tables as $table) { - print($table->id() . PHP_EOL); - } -} - -/** - * @param string $projectId The Google project ID. - * @param string $datasetId The BigQuery dataset ID. - * @param string $tableId The BigQuery table ID. - */ -function get_table($projectId, $datasetId, $tableId) -{ - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - return $dataset->table($tableId); -} -# [END list_tables] diff --git a/bigquery/api/src/functions/run_query.php b/bigquery/api/src/functions/run_query.php deleted file mode 100644 index df5f5a0515..0000000000 --- a/bigquery/api/src/functions/run_query.php +++ /dev/null @@ -1,72 +0,0 @@ - $projectId, - ]); - # [END build_service] - # [START run_query] - $queryResults = $bigQuery->runQuery( - $query, - ['useLegacySql' => $useLegacySql]); - # [END run_query] - - # [START print_results] - if ($queryResults->isComplete()) { - $i = 0; - $rows = $queryResults->rows(); - foreach ($rows as $row) { - printf('--- Row %s ---' . PHP_EOL, ++$i); - foreach ($row as $column => $value) { - printf('%s: %s' . PHP_EOL, $column, $value); - } - } - printf('Found %s row(s)' . PHP_EOL, $i); - } else { - throw new Exception('The query failed to complete'); - } - # [END print_results] -} -# [END all] diff --git a/bigquery/api/src/functions/run_query_as_job.php b/bigquery/api/src/functions/run_query_as_job.php deleted file mode 100644 index 86d10b7dad..0000000000 --- a/bigquery/api/src/functions/run_query_as_job.php +++ /dev/null @@ -1,77 +0,0 @@ - $projectId, - ]); - $job = $bigQuery->runQueryAsJob( - $query, - ['jobConfig' => ['useLegacySql' => $useLegacySql]]); - $backoff = new ExponentialBackoff(10); - $backoff->execute(function () use ($job) { - print('Waiting for job to complete' . PHP_EOL); - $job->reload(); - if (!$job->isComplete()) { - throw new Exception('Job has not yet completed', 500); - } - }); - $queryResults = $job->queryResults(); - - if ($queryResults->isComplete()) { - $i = 0; - $rows = $queryResults->rows(); - foreach ($rows as $row) { - printf('--- Row %s ---' . PHP_EOL, ++$i); - foreach ($row as $column => $value) { - printf('%s: %s' . PHP_EOL, $column, $value); - } - } - printf('Found %s row(s)' . PHP_EOL, $i); - } else { - throw new Exception('The query failed to complete'); - } -} -# [END query_as_job] diff --git a/bigquery/api/src/functions/stream_row.php b/bigquery/api/src/functions/stream_row.php deleted file mode 100644 index 8781a7e87a..0000000000 --- a/bigquery/api/src/functions/stream_row.php +++ /dev/null @@ -1,69 +0,0 @@ - "value1", - * "field2" => "value2", - * ]; - * stream_row($projectId, $datasetId, $tableId, $data); - * ```. - * - * @param string $projectId The Google project ID. - * @param string $datasetId The BigQuery dataset ID. - * @param string $tableId The BigQuery table ID. - * @param string $data An associative array representing a row of data. - * @param string $insertId An optional unique ID to guarantee data consistency. - */ -function stream_row($projectId, $datasetId, $tableId, $data, $insertId = null) -{ - // instantiate the bigquery table service - $bigQuery = new BigQueryClient([ - 'projectId' => $projectId, - ]); - $dataset = $bigQuery->dataset($datasetId); - $table = $dataset->table($tableId); - - $insertResponse = $table->insertRows([ - ['insertId' => $insertId, 'data' => $data], - // additional rows can go here - ]); - if ($insertResponse->isSuccessful()) { - print('Data streamed into BigQuery successfully' . PHP_EOL); - } else { - foreach ($insertResponse->failedRows() as $row) { - foreach ($row['errors'] as $error) { - printf('%s: %s' . PHP_EOL, $error['reason'], $error['message']); - } - } - } -} -# [END stream_row] diff --git a/bigquery/api/test/BrowseTableCommandTest.php b/bigquery/api/test/BrowseTableCommandTest.php deleted file mode 100644 index 5a909e5cc6..0000000000 --- a/bigquery/api/test/BrowseTableCommandTest.php +++ /dev/null @@ -1,67 +0,0 @@ - 0; - } - - public function testBrowseTable() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $application = new Application(); - $application->add(new BrowseTableCommand()); - $commandTester = new CommandTester($application->get('browse-table')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.' . $tableId, - '--max-results' => 1, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Found 1 row\(s\)/'); - } -} diff --git a/bigquery/api/test/CopyTableCommandTest.php b/bigquery/api/test/CopyTableCommandTest.php deleted file mode 100644 index a332cd666f..0000000000 --- a/bigquery/api/test/CopyTableCommandTest.php +++ /dev/null @@ -1,110 +0,0 @@ - 0; - self::$projectId = getenv('GOOGLE_PROJECT_ID'); - } - - public function testCopyTable() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!self::$projectId) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$sourceTableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $destinationTableId = sprintf('test_copy_table_%s', time()); - - // run the import - $application = new Application(); - $application->add(new CopyTableCommand()); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('copy-table')); - $commandTester->execute([ - 'dataset' => $datasetId, - 'source-table' => $sourceTableId, - 'destination-table' => $destinationTableId, - '--project' => self::$projectId, - ], ['interactive' => false]); - - $this->tempTableId = $datasetId . '.' . $destinationTableId; - $this->expectOutputRegex('/Table copied successfully/'); - - $commandTester = new CommandTester($application->get('query')); - $testFunction = function () use ($commandTester, $datasetId, $destinationTableId) { - ob_start(); - $commandTester->execute([ - 'query' => sprintf('SELECT * FROM [%s.%s]', $datasetId, $destinationTableId), - '--project' => self::$projectId, - ], ['interactive' => false]); - $output = ob_get_clean(); - $this->assertContains('Brent Shaffer', $output); - $this->assertContains('Takashi Matsuo', $output); - $this->assertContains('Jeffrey Rennie', $output); - }; - - $this->runEventuallyConsistentTest($testFunction); - } - - protected function tearDown() - { - if ($this->tempTableId) { - $application = new Application(); - $application->add(new SchemaCommand()); - - // create the tmp table using the schema command - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute([ - 'dataset.table' => $this->tempTableId, - '--delete' => true, - '--no-confirmation' => true, - '--project' => self::$projectId, - ], ['interactive' => false]); - } - } -} diff --git a/bigquery/api/test/DatasetsCommandTest.php b/bigquery/api/test/DatasetsCommandTest.php deleted file mode 100644 index 90f97f5e65..0000000000 --- a/bigquery/api/test/DatasetsCommandTest.php +++ /dev/null @@ -1,62 +0,0 @@ - 0; - } - - public function testDatasets() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - - $application = new Application(); - $application->add(new DatasetsCommand()); - $commandTester = new CommandTester($application->get('datasets')); - $commandTester->execute( - ['--project' => $projectId], - ['interactive' => false] - ); - - $this->expectOutputRegex("/$datasetId/"); - } -} diff --git a/bigquery/api/test/ExportCommandTest.php b/bigquery/api/test/ExportCommandTest.php deleted file mode 100644 index 6c812d9906..0000000000 --- a/bigquery/api/test/ExportCommandTest.php +++ /dev/null @@ -1,213 +0,0 @@ - 0; - self::$gcsBucket = getenv('GOOGLE_BUCKET_NAME'); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Destination does not contain object name - */ - public function testBucketWithoutObjectThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $application = new Application(); - $application->add(new ExportCommand()); - $commandTester = new CommandTester($application->get('export')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.' . $tableId, - 'destination' => 'gs://foo', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Table must in the format "dataset.table" - */ - public function testInvalidTableNameThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - // run the import - $application = new Application(); - $application->add(new ExportCommand()); - $commandTester = new CommandTester($application->get('export')); - $commandTester->execute( - [ - 'dataset.table' => 'invalid.table.name', - 'destination' => 'gs://foo/bar', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Invalid format - */ - public function testInvalidFormatThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - // run the import - $application = new Application(); - $application->add(new ExportCommand()); - $commandTester = new CommandTester($application->get('export')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.' . $tableId, - 'destination' => 'gs://foo/bar', - '--format' => 'invalid-format', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Destination must start with "gs://" for Cloud Storage - */ - public function testInvalidDestinationThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - // run the import - $application = new Application(); - $application->add(new ExportCommand()); - $commandTester = new CommandTester($application->get('export')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.' . $tableId, - 'destination' => 'foo', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @dataProvider provideExport - */ - public function testExport($objectName, $format) - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - if (!self::$gcsBucket) { - $this->markTestSkipped('No Cloud Storage bucket'); - } - - $destination = sprintf('gs://%s/%s', self::$gcsBucket, $objectName); - - // run the import - $application = new Application(); - $application->add(new ExportCommand()); - $commandTester = new CommandTester($application->get('export')); - $commandTester->execute([ - 'dataset.table' => $datasetId . '.' . $tableId, - 'destination' => $destination, - '--format' => $format, - '--project' => $projectId, - ], ['interactive' => false]); - - $this->expectOutputRegex('/Data exported successfully/'); - - // verify the contents of the bucket - $storage = new StorageClient([ - 'projectId' => $projectId, - ]); - $object = $storage->bucket(self::$gcsBucket)->object($objectName); - $contents = $object->downloadAsString(); - $this->assertContains('Brent Shaffer', $contents); - $this->assertContains('Takashi Matsuo', $contents); - $this->assertContains('Jeffrey Rennie', $contents); - $object->delete(); - $this->assertFalse($object->exists()); - } - - public function provideExport() - { - $time = time(); - - return [ - [sprintf('test_data_%s.json', $time), 'json'], - [sprintf('test_data_%s.csv', $time), 'csv'], - ]; - } -} diff --git a/bigquery/api/test/FunctionsTest.php b/bigquery/api/test/FunctionsTest.php deleted file mode 100644 index 4cd636fe78..0000000000 --- a/bigquery/api/test/FunctionsTest.php +++ /dev/null @@ -1,55 +0,0 @@ -markTestSkipped('No project ID'); - } - - $bigQuery = require __DIR__ . '/../src/functions/bigquery_client.php'; - - $this->assertInstanceOf(BigQueryClient::class, $bigQuery); - } - public function testGetTable() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $table = BigQuery\get_table($projectId, $datasetId, $tableId); - - $this->assertInstanceOf(Table::class, $table); - } -} diff --git a/bigquery/api/test/ImportCommandTest.php b/bigquery/api/test/ImportCommandTest.php deleted file mode 100644 index 5c1503bcbe..0000000000 --- a/bigquery/api/test/ImportCommandTest.php +++ /dev/null @@ -1,342 +0,0 @@ - 0; - } - - public function setUp() - { - $this->gcsBucket = getenv('GOOGLE_BUCKET_NAME'); - $this->projectId = getenv('GOOGLE_PROJECT_ID'); - $this->datasetId = getenv('GOOGLE_BIGQUERY_DATASET'); - } - - public function tearDown() - { - if ($this->tempTableId) { - $this->deleteTempTable($this->projectId, $this->datasetId, $this->tempTableId); - } - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Table must in the format "dataset.table" - */ - public function testInvalidTableNameThrowsException() - { - if (!$this->projectId) { - $this->markTestSkipped('No project ID'); - } - - // run the import - $application = new Application(); - $application->add(new ImportCommand()); - $commandTester = new CommandTester($application->get('import')); - $commandTester->execute( - [ - 'dataset.table' => 'invalid.table.name', - 'source' => 'foo', - '--project' => $this->projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Source file does not exist or is not readable - */ - public function testNonexistantFileThrowsException() - { - if (!$this->projectId) { - $this->markTestSkipped('No project ID'); - } - if (!$this->datasetId) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - // run the import - $application = new Application(); - $application->add(new ImportCommand()); - $commandTester = new CommandTester($application->get('import')); - $commandTester->execute( - [ - 'dataset.table' => $this->datasetId . '.' . $tableId, - 'source' => '/this/file/doesnotexist.json', - '--project' => $this->projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Source format unknown. Must be JSON or CSV - */ - public function testFileWithWrongExtensionThrowsException() - { - if (!$this->projectId) { - $this->markTestSkipped('No project ID'); - } - if (!$this->datasetId) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - $file = tempnam(sys_get_temp_dir(), 'bigquery-source'); - - // run the import - $application = new Application(); - $application->add(new ImportCommand()); - $commandTester = new CommandTester($application->get('import')); - $commandTester->execute( - [ - 'dataset.table' => $this->datasetId . '.' . $tableId, - 'source' => $file, - '--project' => $this->projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Source does not contain object name - */ - public function testBucketWithoutObjectThrowsException() - { - if (!$this->projectId) { - $this->markTestSkipped('No project ID'); - } - if (!$this->datasetId) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - // run the import - $application = new Application(); - $application->add(new ImportCommand()); - $commandTester = new CommandTester($application->get('import')); - $commandTester->execute( - [ - 'dataset.table' => $this->datasetId . '.' . $tableId, - 'source' => 'gs://', - '--project' => $this->projectId, - ], - ['interactive' => false] - ); - } - - public function testImportStreamRow() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$this->projectId) { - $this->markTestSkipped('No project ID'); - } - if (!$this->datasetId) { - $this->markTestSkipped('No bigquery dataset name'); - } - - $tableId = sprintf('test_table_%s', time()); - $this->createTempTable($this->projectId, $this->datasetId, $tableId); - - $questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') - ->disableOriginalConstructor() - ->getMock(); - $questionHelper->expects($this->exactly(2)) - ->method('ask') - ->will($this->onConsecutiveCalls('Brent Shaffer', 'PHP Developer')); - $helperSet = $this->getMockBuilder('Symfony\Component\Console\Helper\HelperSet') - ->disableOriginalConstructor() - ->getMock(); - $helperSet->expects($this->once()) - ->method('get') - ->with('question') - ->will($this->returnValue($questionHelper)); - - // run the import - $application = new Application(); - $application->add(new QueryCommand()); - $application->add($import = new ImportCommand()); - $import->setHelperSet($helperSet); - $commandTester = new CommandTester($application->get('import')); - $commandTester->execute([ - 'dataset.table' => $this->datasetId . '.' . $tableId, - '--project' => $this->projectId, - ], ['interactive' => false]); - - $this->expectOutputRegex('/Data streamed into BigQuery successfully/'); - - $commandTester = new CommandTester($application->get('query')); - $testFunction = function () use ($commandTester, $tableId) { - ob_start(); - $commandTester->execute([ - 'query' => sprintf('SELECT * FROM [%s.%s]', $this->datasetId, $tableId), - '--project' => $this->projectId, - ], ['interactive' => false]); - $output = ob_get_clean(); - $this->assertContains('Brent Shaffer', $output); - }; - - $this->runEventuallyConsistentTest($testFunction); - - $this->tempTableId = $tableId; - } - - /** - * @dataProvider provideImport - */ - public function testImport($source, $createTable = true) - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$this->projectId) { - $this->markTestSkipped('No project ID'); - } - if (!$this->datasetId) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (0 === strpos($source, 'gs://') && !$this->gcsBucket) { - $this->markTestSkipped('No Cloud Storage bucket'); - } - $tableId = sprintf('test_table_%s', time()); - if ($createTable) { - $this->createTempTable($this->projectId, $this->datasetId, $tableId); - } - if ('sql' === substr($source, -3)) { - $contents = file_get_contents($source); - $contents = str_replace('test_table', $tableId, $contents); - $source = sprintf('%s/%s.sql', sys_get_temp_dir(), $tableId); - file_put_contents($source, $contents); - } - - // run the import - $application = new Application(); - $application->add(new ImportCommand()); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('import')); - $commandTester->execute([ - 'dataset.table' => $this->datasetId . '.' . $tableId, - 'source' => $source, - '--project' => $this->projectId, - ], ['interactive' => false]); - - $this->expectOutputRegex('/Data imported successfully/'); - - $commandTester = new CommandTester($application->get('query')); - $testFunction = function () use ($commandTester, $tableId) { - ob_start(); - $commandTester->execute([ - 'query' => sprintf('SELECT * FROM [%s.%s]', $this->datasetId, $tableId), - '--project' => $this->projectId, - ], ['interactive' => false]); - $output = ob_get_clean(); - $this->assertContains('Brent Shaffer', $output); - $this->assertContains('Takashi Matsuo', $output); - $this->assertContains('Jeffrey Rennie', $output); - }; - - $this->runEventuallyConsistentTest($testFunction); - - $this->tempTableId = $tableId; - } - - public function provideImport() - { - $bucket = getenv('GOOGLE_BUCKET_NAME'); - - return [ - [__DIR__ . '/data/test_data.csv'], - [__DIR__ . '/data/test_data.json'], - [__DIR__ . '/data/test_data.sql'], - [sprintf('gs://%s/test_data.csv', $bucket)], - [sprintf('gs://%s/test_data.json', $bucket)], - [sprintf('gs://%s/test_data.backup_info', $bucket), false], - ]; - } - - private function createTempTable($projectId, $datasetId, $tableId) - { - $schema = [ - ['name' => 'name', 'type' => 'string', 'mode' => 'nullable'], - ['name' => 'title', 'type' => 'string', 'mode' => 'nullable'], - ]; - $schemaJson = tempnam(sys_get_temp_dir(), 'schema-'); - file_put_contents($schemaJson, json_encode($schema)); - - $application = new Application(); - $application->add(new SchemaCommand()); - - // create the tmp table using the schema command - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute([ - 'dataset.table' => $datasetId . '.' . $tableId, - 'schema-json' => $schemaJson, - '--project' => $projectId, - ], ['interactive' => false]); - } - - private function deleteTempTable($projectId, $datasetId, $tableId) - { - $application = new Application(); - $application->add(new SchemaCommand()); - - // create the tmp table using the schema command - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute([ - 'dataset.table' => $datasetId . '.' . $tableId, - '--delete' => true, - '--no-confirmation' => true, - '--project' => $projectId, - ], ['interactive' => false]); - } -} diff --git a/bigquery/api/test/ProjectsCommandTest.php b/bigquery/api/test/ProjectsCommandTest.php deleted file mode 100644 index 5abc184206..0000000000 --- a/bigquery/api/test/ProjectsCommandTest.php +++ /dev/null @@ -1,59 +0,0 @@ -markTestSkipped('No project ID'); - } - if (!CredentialsLoader::fromWellKnownFile()) { - if (!$keyFile = getenv('GOOGLE_KEY_FILE')) { - $this->markTestSkipped('No key file'); - } - if (!$home = getenv('HOME')) { - $this->markTestSkipped('No home directory for key file'); - } - $path = sprintf('%s/.config/gcloud/', $home); - @mkdir($path, 0777, true); - file_put_contents( - $path . '/application_default_credentials.json', - $keyFile - ); - } - $application = new Application(); - $application->add(new ProjectsCommand()); - $commandTester = new CommandTester($application->get('projects')); - $commandTester->execute( - ['--max-results' => 1000], - ['interactive' => false] - ); - - $this->expectOutputRegex("/$projectId/"); - } -} diff --git a/bigquery/api/test/QueryCommandTest.php b/bigquery/api/test/QueryCommandTest.php deleted file mode 100644 index 7355930d8b..0000000000 --- a/bigquery/api/test/QueryCommandTest.php +++ /dev/null @@ -1,200 +0,0 @@ - 0; - } - - public function testPublicQuery() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - $query = 'SELECT TOP(corpus, 10) as title, COUNT(*) as unique_words ' . - 'FROM [publicdata:samples.shakespeare]'; - - $application = new Application(); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('query')); - $commandTester->execute( - ['query' => $query, '--project' => $projectId], - ['interactive' => false] - ); - - // Make sure it looks like Shakespeare. - $this->expectOutputRegex('/hamlet/'); - $this->expectOutputRegex('/kinglear/'); - $this->expectOutputRegex('/Found 10 row\(s\)/'); - } - - public function testQueryWithNoResults() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - $query = 'SELECT * FROM [publicdata:samples.shakespeare] LIMIT 0'; - - $application = new Application(); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('query')); - $commandTester->execute( - ['query' => $query, '--project' => $projectId], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Found 0 row\(s\)/'); - } - - public function testQuery() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $query = sprintf('SELECT * FROM [%s.%s] LIMIT 1', $datasetId, $tableId); - - $application = new Application(); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('query')); - $commandTester->execute( - ['query' => $query, '--project' => $projectId, '--sync'], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Found 1 row\(s\)/'); - } - - public function testQueryStandardSql() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $query = sprintf('SELECT * FROM `%s.%s` LIMIT 1', $datasetId, $tableId); - - $application = new Application(); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('query')); - $commandTester->execute( - [ - 'query' => $query, - '--project' => $projectId, - '--sync', - '--standard-sql' => true - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Found 1 row\(s\)/'); - } - - public function testQueryAsJob() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $query = sprintf('SELECT * FROM [%s.%s] LIMIT 1', $datasetId, $tableId); - - $application = new Application(); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('query')); - $commandTester->execute( - ['query' => $query, '--project' => $projectId], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Found 1 row\(s\)/'); - } - - public function testQueryAsJobStandardSql() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $query = sprintf('SELECT * FROM `%s.%s` LIMIT 1', $datasetId, $tableId); - - $application = new Application(); - $application->add(new QueryCommand()); - $commandTester = new CommandTester($application->get('query')); - $commandTester->execute( - [ - 'query' => $query, - '--project' => $projectId, - '--standard-sql' => true - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Found 1 row\(s\)/'); - } -} diff --git a/bigquery/api/test/SchemaCommandTest.php b/bigquery/api/test/SchemaCommandTest.php deleted file mode 100644 index ac8332cc40..0000000000 --- a/bigquery/api/test/SchemaCommandTest.php +++ /dev/null @@ -1,220 +0,0 @@ - 0; - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage Table must in the format "dataset.table" - */ - public function testInvalidTableNameThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => 'invalid.table.name', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException LogicException - * @expectedExceptionMessage "schema-json" is required if the command is not interactive - */ - public function testSchemaIsRequiredIfNotInteractiveException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.table_name', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException LogicException - * @expectedExceptionMessage "no-confirmation" is required to create a dataset if the command is not interactive - */ - public function testNonexistantDatasetWhenNotInteractiveThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => 'thisdoes.notexist', - 'schema-json' => __DIR__ . '/data/test_data.json', - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException LogicException - * @expectedExceptionMessage The supplied dataset does not exist - */ - public function testDeleteNonexistantDatasetThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => 'thisdoes.notexist', - 'schema-json' => __DIR__ . '/data/test_data.json', - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage The supplied table does not exist - */ - public function testDeleteNonexistantTableThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.doesnotexist', - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException LogicException - * @expectedExceptionMessage Cannot supply "--delete" with the "schema-json" argument - */ - public function testDeleteWithSchemaThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.doesnotexist', - 'schema-json' => __DIR__ . '/data/test_data.json', - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - /** - * @expectedException LogicException - * @expectedExceptionMessage "no-confirmation" is required for deletion if the command is not interactive - */ - public function testDeleteWhenNotInteractiveThrowsException() - { - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - // run the import - $application = new Application(); - $application->add(new SchemaCommand()); - $commandTester = new CommandTester($application->get('schema')); - $commandTester->execute( - [ - 'dataset.table' => $datasetId . '.' . $tableId, - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - } -} diff --git a/bigquery/api/test/TablesCommandTest.php b/bigquery/api/test/TablesCommandTest.php deleted file mode 100644 index 76843b3d85..0000000000 --- a/bigquery/api/test/TablesCommandTest.php +++ /dev/null @@ -1,63 +0,0 @@ - 0; - } - - public function testTables() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$datasetId = getenv('GOOGLE_BIGQUERY_DATASET')) { - $this->markTestSkipped('No bigquery dataset name'); - } - if (!$tableId = getenv('GOOGLE_BIGQUERY_TABLE')) { - $this->markTestSkipped('No bigquery table name'); - } - - $application = new Application(); - $application->add(new TablesCommand()); - $commandTester = new CommandTester($application->get('tables')); - $commandTester->execute( - ['dataset' => $datasetId, '--project' => $projectId], - ['interactive' => false] - ); - - $this->expectOutputRegex("/$tableId/"); - } -} diff --git a/bigquery/api/test/data/test_data.csv b/bigquery/api/test/data/test_data.csv deleted file mode 100644 index 9809464e0b..0000000000 --- a/bigquery/api/test/data/test_data.csv +++ /dev/null @@ -1,3 +0,0 @@ -"Brent Shaffer","PHP Developer" -"Takashi Matsuo", "Developer's Liberation Activist" -"Jeffrey Rennie", "The Man, The Myth, The Legend" diff --git a/bigquery/api/test/data/test_data.json b/bigquery/api/test/data/test_data.json deleted file mode 100644 index cfd3cde209..0000000000 --- a/bigquery/api/test/data/test_data.json +++ /dev/null @@ -1,3 +0,0 @@ -{ "name": "Brent Shaffer", "title": "PHP Developer" } -{ "name": "Takashi Matsuo", "title": "Developer's Liberation Activist" } -{ "name": "Jeffrey Rennie", "title": "The Man, The Myth, The Legend" } diff --git a/bigquery/api/test/data/test_data.sql b/bigquery/api/test/data/test_data.sql deleted file mode 100644 index 02dd2eaca5..0000000000 --- a/bigquery/api/test/data/test_data.sql +++ /dev/null @@ -1,8 +0,0 @@ --- This file is used to test ../../src/functions/import_from_file.php --- These are comments. --- Each query to be executed should be on a single line. - -/* Another ignored line. */ -INSERT INTO `test_table` (`name`, `title`) VALUES ('Brent Shaffer', 'PHP Developer') -INSERT INTO `test_table` (`name`, `title`) VALUES ('Takashi Matsuo', 'Developer\'s Liberation Activist') -INSERT INTO `test_table` (`name`, `title`) VALUES ('Jeffrey Rennie', 'The Man, The Myth, The Legend') diff --git a/bigquery/quickstart/composer.json b/bigquery/quickstart/composer.json deleted file mode 100644 index 3a8a8b9c5a..0000000000 --- a/bigquery/quickstart/composer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "require": { - "php": ">=5.4", - "google/cloud-bigquery": "^0.2" - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/bigquery/quickstart/composer.lock b/bigquery/quickstart/composer.lock deleted file mode 100644 index 3036cf4d75..0000000000 --- a/bigquery/quickstart/composer.lock +++ /dev/null @@ -1,1760 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "fbfdb9aad651b0b8b0ebb420ab332d39", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-bigquery", - "version": "v0.2.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-bigquery.git", - "reference": "08014e435c1d1f757610c410a81e51512d48e79d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-bigquery/zipball/08014e435c1d1f757610c410a81e51512d48e79d", - "reference": "08014e435c1d1f757610c410a81e51512d48e79d", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/cloud-storage": "Makes it easier to load data from Cloud Storage into BigQuery" - }, - "type": "library", - "extra": { - "component": { - "displayName": "Google Cloud BigQuery", - "id": "cloud-bigquery", - "target": "GoogleCloudPlatform/google-cloud-php-bigquery.git", - "path": "src/BigQuery", - "entry": "BigQueryClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\BigQuery\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "BigQuery Client for PHP", - "time": "2017-05-18T15:22:19+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/885db865f6b2b918404a1fae28f9ac640f71f994", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-28T10:56:20+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.4" - }, - "platform-dev": [] -} diff --git a/bigquery/quickstart/phpunit.xml.dist b/bigquery/quickstart/phpunit.xml.dist deleted file mode 100644 index 9f1bd58a98..0000000000 --- a/bigquery/quickstart/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - quickstart.php - - - diff --git a/bigquery/quickstart/quickstart.php b/bigquery/quickstart/quickstart.php deleted file mode 100644 index 3113e5d0e7..0000000000 --- a/bigquery/quickstart/quickstart.php +++ /dev/null @@ -1,41 +0,0 @@ - $projectId -]); - -# The name for the new dataset -$datasetName = 'my_new_dataset'; - -# Creates the new dataset -$dataset = $bigquery->createDataset($datasetName); - -echo 'Dataset ' . $dataset->id() . ' created.'; -# [END bigquery_quickstart] -return $dataset; diff --git a/bigquery/quickstart/test/quickstartTest.php b/bigquery/quickstart/test/quickstartTest.php deleted file mode 100644 index 07e97e13c9..0000000000 --- a/bigquery/quickstart/test/quickstartTest.php +++ /dev/null @@ -1,51 +0,0 @@ -markTestSkipped('GOOGLE_PROJECT_ID must be set.'); - } - - $datasetId = 'my_new_dataset_' . time(); - $file = sys_get_temp_dir() . '/bigquery_quickstart.php'; - $contents = file_get_contents(__DIR__ . '/../quickstart.php'); - $contents = str_replace( - ['YOUR_PROJECT_ID', 'my_new_dataset', '__DIR__'], - [$projectId, $datasetId, sprintf('"%s/.."', __DIR__)], - $contents - ); - file_put_contents($file, $contents); - - // Invoke quickstart.php - $this->dataset = include $file; - - // Make sure it looks correct - $this->assertInstanceOf('Google\Cloud\BigQuery\Dataset', $this->dataset); - $this->assertEquals($datasetId, $this->dataset->id()); - } - - public function tearDown() - { - if ($this->dataset) { - $this->dataset->delete(); - } - } -} diff --git a/bigquery/shakespeare/README.md b/bigquery/shakespeare/README.md deleted file mode 100644 index 326e56f301..0000000000 --- a/bigquery/shakespeare/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# Google BigQuery PHP Sample Application - -## Description - -This simple command-line application demonstrates how to invoke Google BigQuery from PHP. - -## Build and Run -1. **Enable APIs** - [Enable the BigQuery API](https://console.cloud.google.com/flows/enableapi?apiid=bigquery) - and create a new project or select an existing project. -2. **Download The Credentials** - Click "Go to credentials" after enabling the APIs. Click "New Credentials" - and select "Service Account Key". Create a new service account, use the JSON key type, and - select "Create". Once downloaded, set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` - to the path of the JSON key that was downloaded. -3. **Clone the repo** and cd into this directory - - ```sh - $ git clone https://github.com/GoogleCloudPlatform/php-docs-samples - $ cd php-docs-samples/bigquery/api -``` -4. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). -5. Run `php shakespeare.php YOUR_PROJECT_ID` to run the sample. -``` - -## Contributing changes - -* See [CONTRIBUTING.md](../../CONTRIBUTING.md) - -## Licensing - -* See [LICENSE](../../LICENSE) diff --git a/bigquery/shakespeare/composer.json b/bigquery/shakespeare/composer.json deleted file mode 100644 index 58605513cb..0000000000 --- a/bigquery/shakespeare/composer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "require": { - "google/cloud-bigquery": "^0.2" - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/bigquery/shakespeare/composer.lock b/bigquery/shakespeare/composer.lock deleted file mode 100644 index 61b7b01694..0000000000 --- a/bigquery/shakespeare/composer.lock +++ /dev/null @@ -1,1758 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "e56a5a2bfee0b28a72cb36975f32e9e8", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-bigquery", - "version": "v0.2.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-bigquery.git", - "reference": "08014e435c1d1f757610c410a81e51512d48e79d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-bigquery/zipball/08014e435c1d1f757610c410a81e51512d48e79d", - "reference": "08014e435c1d1f757610c410a81e51512d48e79d", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/cloud-storage": "Makes it easier to load data from Cloud Storage into BigQuery" - }, - "type": "library", - "extra": { - "component": { - "displayName": "Google Cloud BigQuery", - "id": "cloud-bigquery", - "target": "GoogleCloudPlatform/google-cloud-php-bigquery.git", - "path": "src/BigQuery", - "entry": "BigQueryClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\BigQuery\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "BigQuery Client for PHP", - "time": "2017-05-18T15:22:19+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/885db865f6b2b918404a1fae28f9ac640f71f994", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-28T10:56:20+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/bigquery/shakespeare/phpunit.xml.dist b/bigquery/shakespeare/phpunit.xml.dist deleted file mode 100644 index 353f21ef6f..0000000000 --- a/bigquery/shakespeare/phpunit.xml.dist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - test - - - - - - - - shakespeare.php - ./src - - - diff --git a/bigquery/shakespeare/shakespeare.php b/bigquery/shakespeare/shakespeare.php deleted file mode 100644 index 8474ba52d9..0000000000 --- a/bigquery/shakespeare/shakespeare.php +++ /dev/null @@ -1,63 +0,0 @@ - $projectId, -]); -# [END build_service] -# [START run_query] -$query = 'SELECT TOP(corpus, 10) as title, COUNT(*) as unique_words ' . - 'FROM [publicdata:samples.shakespeare]'; -$options = ['useLegacySql' => true]; -$queryResults = $bigQuery->runQuery($query, $options); -# [END run_query] - -# [START print_results] -if ($queryResults->isComplete()) { - $i = 0; - $rows = $queryResults->rows(); - foreach ($rows as $row) { - printf('--- Row %s ---' . PHP_EOL, ++$i); - foreach ($row as $column => $value) { - printf('%s: %s' . PHP_EOL, $column, $value); - } - } - printf('Found %s row(s)' . PHP_EOL, $i); -} else { - throw new Exception('The query failed to complete'); -} -# [END print_results] -# [END all] diff --git a/bigquery/shakespeare/test/shakespeareTest.php b/bigquery/shakespeare/test/shakespeareTest.php deleted file mode 100644 index 831d398c85..0000000000 --- a/bigquery/shakespeare/test/shakespeareTest.php +++ /dev/null @@ -1,68 +0,0 @@ -markTestSkipped('GOOGLE_PROJECT_ID must be set.'); - } - $argv[1] = $projectId; - - $outputString = <<expectOutputString($outputString); - } -} From 1b8f351496306d3df06f44fad21d1acbbd317a6b Mon Sep 17 00:00:00 2001 From: Suguru Shirai Date: Sat, 9 Sep 2017 12:21:50 +0900 Subject: [PATCH 03/17] Delete datastore sample --- datastore/api/README.md | 21 - datastore/api/composer.json | 15 - datastore/api/composer.lock | 2022 ---------------- datastore/api/index.yaml | 43 - datastore/api/phpunit.xml.dist | 31 - datastore/api/src/functions/concepts.php | 1030 -------- datastore/api/test/ConceptsTest.php | 1146 --------- datastore/quickstart/composer.json | 9 - datastore/quickstart/composer.lock | 1753 -------------- datastore/quickstart/phpunit.xml.dist | 31 - datastore/quickstart/quickstart.php | 50 - datastore/quickstart/test/quickstartTest.php | 45 - datastore/tutorial/README.md | 28 - datastore/tutorial/composer.json | 14 - datastore/tutorial/composer.lock | 2142 ----------------- datastore/tutorial/phpunit.xml.dist | 31 - datastore/tutorial/src/CreateTaskCommand.php | 67 - datastore/tutorial/src/DeleteTaskCommand.php | 63 - datastore/tutorial/src/ListTasksCommand.php | 74 - .../tutorial/src/MarkTaskDoneCommand.php | 63 - datastore/tutorial/src/functions.php | 123 - datastore/tutorial/tasks.php | 33 - datastore/tutorial/test/CommandSystemTest.php | 160 -- datastore/tutorial/test/FunctionsTest.php | 112 - 24 files changed, 9106 deletions(-) delete mode 100644 datastore/api/README.md delete mode 100644 datastore/api/composer.json delete mode 100644 datastore/api/composer.lock delete mode 100644 datastore/api/index.yaml delete mode 100644 datastore/api/phpunit.xml.dist delete mode 100644 datastore/api/src/functions/concepts.php delete mode 100644 datastore/api/test/ConceptsTest.php delete mode 100644 datastore/quickstart/composer.json delete mode 100644 datastore/quickstart/composer.lock delete mode 100644 datastore/quickstart/phpunit.xml.dist delete mode 100644 datastore/quickstart/quickstart.php delete mode 100644 datastore/quickstart/test/quickstartTest.php delete mode 100644 datastore/tutorial/README.md delete mode 100644 datastore/tutorial/composer.json delete mode 100644 datastore/tutorial/composer.lock delete mode 100644 datastore/tutorial/phpunit.xml.dist delete mode 100644 datastore/tutorial/src/CreateTaskCommand.php delete mode 100644 datastore/tutorial/src/DeleteTaskCommand.php delete mode 100644 datastore/tutorial/src/ListTasksCommand.php delete mode 100644 datastore/tutorial/src/MarkTaskDoneCommand.php delete mode 100644 datastore/tutorial/src/functions.php delete mode 100755 datastore/tutorial/tasks.php delete mode 100644 datastore/tutorial/test/CommandSystemTest.php delete mode 100644 datastore/tutorial/test/FunctionsTest.php diff --git a/datastore/api/README.md b/datastore/api/README.md deleted file mode 100644 index 15949a271e..0000000000 --- a/datastore/api/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Cloud Datastore code snippets - -This code samples are intended to be in the following document: -https://cloud.google.com/datastore/docs/ - -The code is using -[Google Cloud Client Library for PHP](https://googlecloudplatform.github.io/google-cloud-php/#/). - -To run the tests do the following: - -1. [Enable billing](https://support.google.com/cloud/answer/6293499#enable-billing). -1. [Enable the Cloud Datastore API](https://console.cloud.google.com/flows/enableapi?apiid=datastore.googleapis.com). -1. Create a service account at the - [Service account section in the Cloud Console](https://console.cloud.google.com/iam-admin/serviceaccounts/) -1. Download the json key file of the service account. -1. Set GOOGLE_APPLICATION_CREDENTIALS environment variable pointing to that file. -1. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). -1. Create Datastore indexes by running `gcloud preview datastore create-indexes index.yaml` -1. Run `phpunit` diff --git a/datastore/api/composer.json b/datastore/api/composer.json deleted file mode 100644 index 05bf814208..0000000000 --- a/datastore/api/composer.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "require": { - "google/cloud-datastore": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8", - "google/cloud-tools": "^0.6" - }, - "autoload": { - "psr-4": { "Google\\Cloud\\Samples\\Datastore\\": "src" }, - "files": [ - "src/functions/concepts.php" - ] - } -} diff --git a/datastore/api/composer.lock b/datastore/api/composer.lock deleted file mode 100644 index 268984abff..0000000000 --- a/datastore/api/composer.lock +++ /dev/null @@ -1,2022 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "bc6c67a1e9b64763fb181c421b0c5369", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "7a209c6ff0cd92a5ef028c81589415c9e3e4d05b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/7a209c6ff0cd92a5ef028c81589415c9e3e4d05b", - "reference": "7a209c6ff0cd92a5ef028c81589415c9e3e4d05b", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "google/cloud-datastore", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-datastore.git", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-datastore/zipball/f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-datastore", - "target": "GoogleCloudPlatform/google-cloud-php-datastore.git", - "path": "src/Datastore", - "entry": "DatastoreClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Datastore\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Datastore Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/datastore/api/index.yaml b/datastore/api/index.yaml deleted file mode 100644 index a984286670..0000000000 --- a/datastore/api/index.yaml +++ /dev/null @@ -1,43 +0,0 @@ -indexes: -- kind: Task - properties: - - name: done - - name: priority - -- kind: Task - properties: - - name: percent_complete - - name: priority - -- kind: Task - properties: - - name: category - - name: priority - -- kind: Task - properties: - - name: collaborators - - name: tags - -- kind: Task - properties: - - name: done - - name: priority - - name: created - -- kind: Task - properties: - - name: priority - - name: created - -- kind: Task - properties: - - name: done - - name: priority - direction: desc - -- kind: Task - properties: - - name: priority - direction: desc - - name: created diff --git a/datastore/api/phpunit.xml.dist b/datastore/api/phpunit.xml.dist deleted file mode 100644 index 3b9f8ea7bf..0000000000 --- a/datastore/api/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - ./src - - - diff --git a/datastore/api/src/functions/concepts.php b/datastore/api/src/functions/concepts.php deleted file mode 100644 index 1215ef9ea7..0000000000 --- a/datastore/api/src/functions/concepts.php +++ /dev/null @@ -1,1030 +0,0 @@ -entity('Task', [ - 'category' => 'Personal', - 'done' => false, - 'priority' => 4, - 'description' => 'Learn Cloud Datastore' - ]); - // [END basic_entity] - return $task; -} - -/** - * Create a Datastore entity and upsert it. - * - * @param DatastoreClient $datastore - * @return Entity - */ -function upsert(DatastoreClient $datastore) -{ - // [START upsert] - $key = $datastore->key('Task', 'sampleTask'); - $task = $datastore->entity($key, [ - 'category' => 'Personal', - 'done' => false, - 'priority' => 4, - 'description' => 'Learn Cloud Datastore' - ]); - $datastore->upsert($task); - // [END upsert] - - return $task; -} - -/** - * Create a Datastore entity and insert it. It will fail if there is already - * an entity with the same key. - * - * @param DatastoreClient $datastore - * @return Entity - */ -function insert(DatastoreClient $datastore) -{ - // [START insert] - $task = $datastore->entity('Task', [ - 'category' => 'Personal', - 'done' => false, - 'priority' => 4, - 'description' => 'Learn Cloud Datastore' - ]); - $datastore->insert($task); - // [END insert] - return $task; -} - -/** - * Look up a Datastore entity with the given key. - * - * @param DatastoreClient $datastore - * @return Entity|null - */ -function lookup(DatastoreClient $datastore) -{ - // [START lookup] - $key = $datastore->key('Task', 'sampleTask'); - $task = $datastore->lookup($key); - // [END lookup] - return $task; -} - -/** - * Update a Datastore entity in a transaction. - * - * @param DatastoreClient $datastore - * @return Entity|null - */ -function update(DatastoreClient $datastore) -{ - // [START update] - $transaction = $datastore->transaction(); - $key = $datastore->key('Task', 'sampleTask'); - $task = $transaction->lookup($key); - $task['priority'] = 5; - $transaction->upsert($task); - $transaction->commit(); - // [END update] - return $task; -} - -/** - * Delete a Datastore entity with the given key. - * - * @param DatastoreClient $datastore - * @param Key $taskKey - */ -function delete(DatastoreClient $datastore, Key $taskKey) -{ - // [START delete] - $datastore->delete($taskKey); - // [END delete] -} - -/** - * Upsert multiple Datastore entities. - * - * @param DatastoreClient $datastore - * @param array $tasks - */ -function batch_upsert(DatastoreClient $datastore, array $tasks) -{ - // [START batch_upsert] - $datastore->upsertBatch($tasks); - // [END batch_upsert] -} - -/** - * Lookup multiple entities. - * - * @param DatastoreClient $datastore - * @param array $keys - * @return array - */ -function batch_lookup(DatastoreClient $datastore, array $keys) -{ - // [START batch_lookup] - $result = $datastore->lookupBatch($keys); - if (isset($result['found'])) { - // $result['found'] is an array of entities. - } else { - // No entities found. - } - // [END batch_lookup] - return $result; -} - -/** - * Delete multiple Datastore entities with the given keys. - * - * @param DatastoreClient $datastore - * @param array $keys - */ -function batch_delete(DatastoreClient $datastore, array $keys) -{ - // [START batch_delete] - $datastore->deleteBatch($keys); - // [END batch_delete] -} - -/** - * Create a complete Datastore key. - * - * @param DatastoreClient $datastore - * @return Key - */ -function named_key(DatastoreClient $datastore) -{ - // [START named_key] - $taskKey = $datastore->key('Task', 'sampleTask'); - // [END named_key] - return $taskKey; -} - -/** - * Create an incomplete Datastore key. - * - * @param DatastoreClient $datastore - * @return Key - */ -function incomplete_key(DatastoreClient $datastore) -{ - // [START incomplete_key] - $taskKey = $datastore->key('Task'); - // [END incomplete_key] - return $taskKey; -} - -/** - * Create a Datastore key with a parent with one level. - * - * @param DatastoreClient $datastore - * @return Key - */ -function key_with_parent(DatastoreClient $datastore) -{ - // [START key_with_parent] - $taskKey = $datastore->key('TaskList', 'default') - ->pathElement('Task', 'sampleTask'); - // [END key_with_parent] - return $taskKey; -} - -/** - * Create a Datastore key with a multi level parent. - * - * @param DatastoreClient $datastore - * @return Key - */ -function key_with_multilevel_parent(DatastoreClient $datastore) -{ - // [START key_with_multilevel_parent] - $taskKey = $datastore->key('User', 'alice') - ->pathElement('TaskList', 'default') - ->pathElement('Task', 'sampleTask'); - // [END key_with_multilevel_parent] - return $taskKey; -} - -/** - * Create a Datastore entity, giving the excludeFromIndexes option. - * - * @param DatastoreClient $datastore - * @param Key $key - * @return Entity - */ -function properties(DatastoreClient $datastore, Key $key) -{ - // [START properties] - $task = $datastore->entity( - $key, - [ - 'category' => 'Personal', - 'created' => new DateTime(), - 'done' => false, - 'priority' => 4, - 'percent_complete' => 10.0, - 'description' => 'Learn Cloud Datastore' - ], - ['excludeFromIndexes' => ['description']] - ); - // [END properties] - return $task; -} - -/** - * Create a Datastore entity with some array properties. - * - * @param DatastoreClient $datastore - * @param Key $key - * @return Entity - */ -function array_value(DatastoreClient $datastore, Key $key) -{ - // [START array_value] - $task = $datastore->entity( - $key, - [ - 'tags' => ['fun', 'programming'], - 'collaborators' => ['alice', 'bob'] - ] - ); - // [END array_value] - return $task; -} - -/** - * Create a basic Datastore query. - * - * @param DatastoreClient $datastore - * @return Query - */ -function basic_query(DatastoreClient $datastore) -{ - // [START basic_query] - $query = $datastore->query() - ->kind('Task') - ->filter('done', '=', false) - ->filter('priority', '>=', 4) - ->order('priority', Query::ORDER_DESCENDING); - // [END basic_query] - return $query; -} - -/** - * Run a given query. - * - * @param DatastoreClient $datastore - * @return EntityIterator - */ -function run_query(DatastoreClient $datastore, Query $query) -{ - // [START run_query] - $result = $datastore->runQuery($query); - // [END run_query] - return $result; -} - -/** - * Create a query with a property filter. - * - * @param DatastoreClient $datastore - * @return Query - */ -function property_filter(DatastoreClient $datastore) -{ - // [START property_filter] - $query = $datastore->query() - ->kind('Task') - ->filter('done', '=', false); - // [END property_filter] - return $query; -} - -/** - * Create a query with a composite filter. - * - * @param DatastoreClient $datastore - * @return Query - */ -function composite_filter(DatastoreClient $datastore) -{ - // [START composite_filter] - $query = $datastore->query() - ->kind('Task') - ->filter('done', '=', false) - ->filter('priority', '=', 4); - // [END composite_filter] - return $query; -} - -/** - * Create a query with a key filter. - * - * @param DatastoreClient $datastore - * @return Query - */ -function key_filter(DatastoreClient $datastore) -{ - // [START key_filter] - $query = $datastore->query() - ->kind('Task') - ->filter('__key__', '>', $datastore->key('Task', 'someTask')); - // [END key_filter] - return $query; -} - -/** - * Create a query with ascending sort. - * - * @param DatastoreClient $datastore - * @return Query - */ -function ascending_sort(DatastoreClient $datastore) -{ - // [START ascending_sort] - $query = $datastore->query() - ->kind('Task') - ->order('created'); - // [END ascending_sort] - return $query; -} - -/** - * Create a query with descending sort. - * - * @param DatastoreClient $datastore - * @return Query - */ -function descending_sort(DatastoreClient $datastore) -{ - // [START descending_sort] - $query = $datastore->query() - ->kind('Task') - ->order('created', Query::ORDER_DESCENDING); - // [END descending_sort] - return $query; -} - -/** - * Create a query sorting with multiple properties. - * - * @param DatastoreClient $datastore - * @return Query - */ -function multi_sort(DatastoreClient $datastore) -{ - // [START multi_sort] - $query = $datastore->query() - ->kind('Task') - ->order('priority', Query::ORDER_DESCENDING) - ->order('created'); - // [END multi_sort] - return $query; -} - -/** - * Create an ancestor query. - * - * @param DatastoreClient $datastore - * @return Query - */ -function ancestor_query(DatastoreClient $datastore) -{ - // [START ancestor_query] - $ancestorKey = $datastore->key('TaskList', 'default'); - $query = $datastore->query() - ->kind('Task') - ->hasAncestor($ancestorKey); - // [END ancestor_query] - return $query; -} - -/** - * Create a kindless query. - * - * @param DatastoreClient $datastore - * @param Key $lastSeenKey - * @return Query - */ -function kindless_query(DatastoreClient $datastore, Key $lastSeenKey) -{ - // [START kindless_query] - $query = $datastore->query() - ->filter('__key__', '>', $lastSeenKey); - // [END kindless_query] - return $query; -} - -/** - * Create a keys-only query. - * - * @param DatastoreClient $datastore - * @return Query - */ -function keys_only_query(DatastoreClient $datastore) -{ - // [START keys_only_query] - $query = $datastore->query() - ->keysOnly(); - // [END keys_only_query] - return $query; -} - -/** - * Create a projection query. - * - * @param DatastoreClient $datastore - * @return Query - */ -function projection_query(DatastoreClient $datastore) -{ - // [START projection_query] - $query = $datastore->query() - ->kind('Task') - ->projection(['priority', 'percent_complete']); - // [END projection_query] - return $query; -} - -/** - * Run the given projection query and collect the projected properties. - * - * @param DatastoreClient $datastore - * @param Query $query - * @return array - */ -function run_projection_query(DatastoreClient $datastore, Query $query) -{ - // [START run_query_projection] - $priorities = array(); - $percentCompletes = array(); - $result = $datastore->runQuery($query); - /* @var Entity $task */ - foreach ($result as $task) { - $priorities[] = $task['priority']; - $percentCompletes[] = $task['percent_complete']; - } - // [END run_query_projection] - return array($priorities, $percentCompletes); -} - -/** - * Create a query with distinctOn. - * - * @param DatastoreClient $datastore - * @return Query - */ -function distinct_on(DatastoreClient $datastore) -{ - // [START distinct_on_query] - $query = $datastore->query() - ->kind('Task') - ->order('category') - ->order('priority') - ->projection(['category', 'priority']) - ->distinctOn('category'); - // [END distinct_on_query] - return $query; -} - -/** - * Create a query with inequality filters. - * - * @param DatastoreClient $datastore - * @return Query - */ -function array_value_inequality_range(DatastoreClient $datastore) -{ - // [START array_value_inequality_range] - $query = $datastore->query() - ->kind('Task') - ->filter('tag', '>', 'learn') - ->filter('tag', '<', 'math'); - // [END array_value_inequality_range] - return $query; -} - -/** - * Create a query with equality filters. - * - * @param DatastoreClient $datastore - * @return Query - */ -function array_value_equality(DatastoreClient $datastore) -{ - // [START array_value_equality] - $query = $datastore->query() - ->kind('Task') - ->filter('tag', '=', 'fun') - ->filter('tag', '=', 'programming'); - // [END array_value_equality] - return $query; -} - -/** - * Create a query with a limit. - * - * @param DatastoreClient $datastore - * @return Query - */ -function limit(DatastoreClient $datastore) -{ - // [START limit] - $query = $datastore->query() - ->kind('Task') - ->limit(5); - // [END limit] - return $query; -} - -// [START cursor_paging] -/** - * Fetch a query cursor. - * - * @param DatastoreClient $datastore - * @param string $pageSize - * @param string $pageCursor - * @return array - */ -function cursor_paging(DatastoreClient $datastore, $pageSize, $pageCursor = '') -{ - $query = $datastore->query() - ->kind('Task') - ->limit($pageSize) - ->start($pageCursor); - $result = $datastore->runQuery($query); - $nextPageCursor = ''; - $entities = []; - /* @var Entity $entity */ - foreach ($result as $entity) { - $nextPageCursor = $entity->cursor(); - $entities[] = $entity; - } - return array( - 'nextPageCursor' => $nextPageCursor, - 'entities' => $entities - ); -} -// [END cursor_paging] - -/** - * Create a query with inequality range filters on the same property. - * - * @param DatastoreClient $datastore - * @return Query - */ -function inequality_range(DatastoreClient $datastore) -{ - // [START inequality_range] - $query = $datastore->query() - ->kind('Task') - ->filter('created', '>', new DateTime('1990-01-01T00:00:00z')) - ->filter('created', '<', new DateTime('2000-12-31T23:59:59z')); - // [END inequality_range] - return $query; -} - -/** - * Create an invalid query with inequality filters on multiple properties. - * - * @param DatastoreClient $datastore - * @return Query - */ -function inequality_invalid(DatastoreClient $datastore) -{ - // [START inequality_invalid] - $query = $datastore->query() - ->kind('Task') - ->filter('priority', '>', 3) - ->filter('created', '>', new DateTime('1990-01-01T00:00:00z')); - // [END inequality_invalid] - return $query; -} - -/** - * Create a query with equality filters and inequality range filters on a - * single property. - * - * @param DatastoreClient $datastore - * @return Query - */ -function equal_and_inequality_range(DatastoreClient $datastore) -{ - // [START equal_and_inequality_range] - $query = $datastore->query() - ->kind('Task') - ->filter('priority', '=', 4) - ->filter('done', '=', false) - ->filter('created', '>', new DateTime('1990-01-01T00:00:00z')) - ->filter('created', '<', new DateTime('2000-12-31T23:59:59z')); - // [END equal_and_inequality_range] - return $query; -} - -/** - * Create a query with an inequality filter and multiple sort orders. - * - * @param DatastoreClient $datastore - * @return Query - */ -function inequality_sort(DatastoreClient $datastore) -{ - // [START inequality_sort] - $query = $datastore->query() - ->kind('Task') - ->filter('priority', '>', 3) - ->order('priority') - ->order('created'); - // [END inequality_sort] - return $query; -} - -/** - * Create an invalid query with an inequality filter and a wrong sort order. - * - * @param DatastoreClient $datastore - * @return Query - */ -function inequality_sort_invalid_not_same(DatastoreClient $datastore) -{ - // [START inequality_sort_invalid_not_same] - $query = $datastore->query() - ->kind('Task') - ->filter('priority', '>', 3) - ->order('created'); - // [END inequality_sort_invalid_not_same] - return $query; -} - -/** - * Create an invalid query with an inequality filter and a wrong sort order. - * - * @param DatastoreClient $datastore - * @return Query - */ -function inequality_sort_invalid_not_first(DatastoreClient $datastore) -{ - // [START inequality_sort_invalid_not_first] - $query = $datastore->query() - ->kind('Task') - ->filter('priority', '>', 3) - ->order('created') - ->order('priority'); - // [END inequality_sort_invalid_not_first] - return $query; -} - -/** - * Create a query with an equality filter on 'description'. - * - * @param DatastoreClient $datastore - * @return Query - */ -function unindexed_property_query(DatastoreClient $datastore) -{ - // [START unindexed_property_query] - $query = $datastore->query() - ->kind('Task') - ->filter('description', '=', 'A task description.'); - // [END unindexed_property_query] - return $query; -} - -/** - * Create an entity with two array properties. - * - * @param DatastoreClient $datastore - * @return Entity - */ -function exploding_properties(DatastoreClient $datastore) -{ - // [START exploding_properties] - $task = $datastore->entity( - $datastore->key('Task'), - [ - 'tags' => ['fun', 'programming', 'learn'], - 'collaborators' => ['alice', 'bob', 'charlie'], - 'created' => new DateTime(), - ] - ); - // [END exploding_properties] - return $task; -} - -// [START transactional_update] -/** - * Update two entities in a transaction. - * - * @param DatastoreClient $datastore - * @param Key $fromKey - * @param Key $toKey - * @param $amount - */ -function transfer_funds( - DatastoreClient $datastore, - Key $fromKey, - Key $toKey, - $amount -) { - $transaction = $datastore->transaction(); - // The option 'sort' is important here, otherwise the order of the result - // might be different from the order of the keys. - $result = $transaction->lookupBatch([$fromKey, $toKey], ['sort' => true]); - if (count($result['found']) != 2) { - $transaction->rollback(); - } - $fromAccount = $result['found'][0]; - $toAccount = $result['found'][1]; - $fromAccount['balance'] -= $amount; - $toAccount['balance'] += $amount; - $transaction->updateBatch([$fromAccount, $toAccount]); - $transaction->commit(); -} -// [END transactional_update] - -/** - * Call a function and retry upon conflicts for several times. - * - * @param DatastoreClient $datastore - * @param Key $fromKey - * @param Key $toKey - */ -function transactional_retry( - DatastoreClient $datastore, - Key $fromKey, - Key $toKey -) { - // [START transactional_retry] - $retries = 5; - for ($i = 0; $i < $retries; $i++) { - try { - transfer_funds($datastore, $fromKey, $toKey, 10); - } catch (Google\Cloud\Exception\ConflictException $e) { - // if $i >= $retries, the failure is final - continue; - } - // Succeeded! - break; - } - // [END transactional_retry] -} - -/** - * Insert an entity only if there is no entity with the same key. - * - * @param DatastoreClient $datastore - * @param Entity $task - */ -function get_or_create(DatastoreClient $datastore, Entity $task) -{ - // [START transactional_get_or_create] - $transaction = $datastore->transaction(); - $existed = $transaction->lookup($task->key()); - if ($existed === null) { - $transaction->insert($task); - $transaction->commit(); - } - // [END transactional_get_or_create] -} - -/** - * Run a query with an ancestor inside a transaction. - * - * @param DatastoreClient $datastore - * @return array - */ -function get_task_list_entities(DatastoreClient $datastore) -{ - // [START transactional_single_entity_group_read_only] - $transaction = $datastore->transaction(); - $taskListKey = $datastore->key('TaskList', 'default'); - $query = $datastore->query() - ->kind('Task') - ->hasAncestor($taskListKey); - $result = $transaction->runQuery($query); - $taskListEntities = []; - /* @var Entity $task */ - foreach ($result as $task) { - $taskListEntities[] = $task; - } - $transaction->commit(); - // [END transactional_single_entity_group_read_only] - return $taskListEntities; -} - -/** - * Create and run a query with readConsistency option. - * - * @param DatastoreClient $datastore - * @return EntityIterator - */ -function eventual_consistent_query(DatastoreClient $datastore) -{ - // [START eventual_consistent_query] - $query = $datastore->query() - ->kind('Task') - ->hasAncestor($datastore->key('TaskList', 'default')); - $result = $datastore->runQuery($query, ['readConsistency' => 'EVENTUAL']); - // [END eventual_consistent_query] - return $result; -} - -/** - * Create an entity with a parent key. - * - * @param DatastoreClient $datastore - * @return Entity - */ -function entity_with_parent(DatastoreClient $datastore) -{ - // [START entity_with_parent] - $parentKey = $datastore->key('TaskList', 'default'); - $key = $datastore->key('Task')->ancestorKey($parentKey); - $task = $datastore->entity( - $key, - [ - 'Category' => 'Personal', - 'Done' => false, - 'Priority' => 4, - 'Description' => 'Learn Cloud Datastore' - ] - ); - // [END entity_with_parent] - return $task; -} - -/** - * Create and run a namespace query. - * - * @param DatastoreClient $datastore - * @param string $start a starting namespace (inclusive) - * @param string $end an ending namespace (exclusive) - * @return array namespaces returned from the query. - */ -function namespace_run_query(DatastoreClient $datastore, $start, $end) -{ - // [START namespace_run_query] - $query = $datastore->query() - ->kind('__namespace__') - ->projection(['__key__']) - ->filter('__key__', '>=', $datastore->key('__namespace__', $start)) - ->filter('__key__', '<', $datastore->key('__namespace__', $end)); - $result = $datastore->runQuery($query); - /* @var array $namespaces */ - $namespaces = []; - foreach ($result as $namespace) { - $namespaces[] = $namespace->key()->pathEnd()['name']; - } - // [END namespace_run_query] - return $namespaces; -} - -/** - * Create and run a query to list all kinds in Datastore. - * - * @param DatastoreClient $datastore - * @return array kinds returned from the query - */ -function kind_run_query(DatastoreClient $datastore) -{ - // [START kind_run_query] - $query = $datastore->query() - ->kind('__kind__') - ->projection(['__key__']); - $result = $datastore->runQuery($query); - /* @var array $kinds */ - $kinds = []; - foreach ($result as $kind) { - $kinds[] = $kind->key()->pathEnd()['name']; - } - // [END kind_run_query] - return $kinds; -} - -/** - * Create and run a property query. - * - * @param DatastoreClient $datastore - * @return array - */ -function property_run_query(DatastoreClient $datastore) -{ - // [START property_run_query] - $query = $datastore->query() - ->kind('__property__') - ->projection(['__key__']); - $result = $datastore->runQuery($query); - /* @var array $properties */ - $properties = []; - /* @var Entity $entity */ - foreach ($result as $entity) { - $kind = $entity->key()->path()[0]['name']; - $propertyName = $entity->key()->path()[1]['name']; - $properties[] = "$kind.$propertyName"; - } - // [END property_run_query] - return $properties; -} - -/** - * Create and run a property query with a kind. - * - * @param DatastoreClient $datastore - * @return array string> - */ -function property_by_kind_run_query(DatastoreClient $datastore) -{ - // [START property_by_kind_run_query] - $ancestorKey = $datastore->key('__kind__', 'Task'); - $query = $datastore->query() - ->kind('__property__') - ->hasAncestor($ancestorKey); - $result = $datastore->runQuery($query); - /* @var array string> $properties */ - $properties = []; - /* @var Entity $entity */ - foreach ($result as $entity) { - $propertyName = $entity->key()->path()[1]['name']; - $propertyType = $entity['property_representation']; - $properties[$propertyName] = $propertyType; - } - // Example values of $properties: ['description' => ['STRING']] - // [END property_by_kind_run_query] - return $properties; -} - -/** - * Create and run a property query with property filtering. - * - * @param DatastoreClient $datastore - * @return array - */ -function property_filtering_run_query(DatastoreClient $datastore) -{ - // [START property_filtering_run_query] - $ancestorKey = $datastore->key('__kind__', 'Task'); - $startKey = $datastore->key('__property__', 'priority') - ->ancestorKey($ancestorKey); - $query = $datastore->query() - ->kind('__property__') - ->filter('__key__', '>=', $startKey); - $result = $datastore->runQuery($query); - /* @var array $properties */ - $properties = []; - /* @var Entity $entity */ - foreach ($result as $entity) { - $kind = $entity->key()->path()[0]['name']; - $propertyName = $entity->key()->path()[1]['name']; - $properties[] = "$kind.$propertyName"; - } - // [END property_filtering_run_query] - return $properties; -} diff --git a/datastore/api/test/ConceptsTest.php b/datastore/api/test/ConceptsTest.php deleted file mode 100644 index 301352cd5e..0000000000 --- a/datastore/api/test/ConceptsTest.php +++ /dev/null @@ -1,1146 +0,0 @@ - 0; - } - - public function setUp() - { - $this->eventuallyConsistentRetryCount = - getenv('DATASTORE_EVENTUALLY_CONSISTENT_RETRY_COUNT') ?: 3; - if (!self::$hasCredentials && - getenv('DATASTORE_EMULATOR_HOST') === false) { - $this->markTestSkipped( - 'No application credentials were found, also not using the ' - . 'datastore emulator'); - } - self::$datastore = new DatastoreClient( - array('namespaceId' => generateRandomString()) - ); - self::$keys = []; - } - - public function testBasicEntity() - { - $task = basic_entity(self::$datastore); - $this->assertEquals('Personal', $task['category']); - $this->assertEquals(false, $task['done']); - $this->assertEquals(4, $task['priority']); - $this->assertEquals('Learn Cloud Datastore', $task['description']); - } - - public function testUpsert() - { - self::$keys[] = self::$datastore->key('Task', 'sampleTask'); - $task = upsert(self::$datastore); - $task = self::$datastore->lookup($task->key()); - $this->assertEquals('Personal', $task['category']); - $this->assertEquals(false, $task['done']); - $this->assertEquals(4, $task['priority']); - $this->assertEquals('Learn Cloud Datastore', $task['description']); - $this->assertEquals('sampleTask', $task->key()->pathEnd()['name']); - } - - public function testInsert() - { - $task = insert(self::$datastore); - self::$keys[] = $task->key(); - $task = self::$datastore->lookup($task->key()); - $this->assertEquals('Personal', $task['category']); - $this->assertEquals(false, $task['done']); - $this->assertEquals(4, $task['priority']); - $this->assertEquals('Learn Cloud Datastore', $task['description']); - $this->assertArrayHasKey('id', $task->key()->pathEnd()); - } - - public function testLookup() - { - self::$keys[] = self::$datastore->key('Task', 'sampleTask'); - upsert(self::$datastore); - $task = lookup(self::$datastore); - $this->assertEquals('Personal', $task['category']); - $this->assertEquals(false, $task['done']); - $this->assertEquals(4, $task['priority']); - $this->assertEquals('Learn Cloud Datastore', $task['description']); - $this->assertEquals('sampleTask', $task->key()->pathEnd()['name']); - } - - public function testUpdate() - { - self::$keys[] = self::$datastore->key('Task', 'sampleTask'); - upsert(self::$datastore); - update(self::$datastore); - $task = lookup(self::$datastore); - $this->assertEquals('Personal', $task['category']); - $this->assertEquals(false, $task['done']); - $this->assertEquals(5, $task['priority']); - $this->assertEquals('Learn Cloud Datastore', $task['description']); - $this->assertEquals('sampleTask', $task->key()->pathEnd()['name']); - } - - public function testDelete() - { - $taskKey = self::$datastore->key('Task', generateRandomString()); - self::$keys[] = $taskKey; - $task = self::$datastore->entity($taskKey); - $task['category'] = 'Personal'; - $task['done'] = false; - $task['priority'] = 4; - $task['description'] = 'Learn Cloud Datastore'; - delete(self::$datastore, $taskKey); - $task = self::$datastore->lookup($taskKey); - $this->assertNull($task); - } - - public function testBatchUpsert() - { - $path1 = generateRandomString(); - $path2 = generateRandomString(); - $key1 = self::$datastore->key('Task', $path1); - $key2 = self::$datastore->key('Task', $path2); - $task1 = self::$datastore->entity($key1); - $task1['category'] = 'Personal'; - $task1['done'] = false; - $task1['priority'] = 4; - $task1['description'] = 'Learn Cloud Datastore'; - $task2 = self::$datastore->entity($key2); - $task2['category'] = 'Work'; - $task2['done'] = true; - $task2['priority'] = 0; - $task2['description'] = 'Finish writing sample'; - self::$keys[] = $key1; - self::$keys[] = $key2; - - batch_upsert(self::$datastore, [$task1, $task2]); - $task1 = self::$datastore->lookup($key1); - $task2 = self::$datastore->lookup($key2); - - $this->assertEquals('Personal', $task1['category']); - $this->assertEquals(false, $task1['done']); - $this->assertEquals(4, $task1['priority']); - $this->assertEquals('Learn Cloud Datastore', $task1['description']); - $this->assertEquals($path1, $task1->key()->pathEnd()['name']); - - $this->assertEquals('Work', $task2['category']); - $this->assertEquals(true, $task2['done']); - $this->assertEquals(0, $task2['priority']); - $this->assertEquals('Finish writing sample', $task2['description']); - $this->assertEquals($path2, $task2->key()->pathEnd()['name']); - } - - public function testBatchLookup() - { - $path1 = generateRandomString(); - $path2 = generateRandomString(); - $key1 = self::$datastore->key('Task', $path1); - $key2 = self::$datastore->key('Task', $path2); - $task1 = self::$datastore->entity($key1); - $task1['category'] = 'Personal'; - $task1['done'] = false; - $task1['priority'] = 4; - $task1['description'] = 'Learn Cloud Datastore'; - $task2 = self::$datastore->entity($key2); - $task2['category'] = 'Work'; - $task2['done'] = true; - $task2['priority'] = 0; - $task2['description'] = 'Finish writing sample'; - self::$keys[] = $key1; - self::$keys[] = $key2; - - batch_upsert(self::$datastore, [$task1, $task2]); - $result = batch_lookup(self::$datastore, [$key1, $key2]); - - $this->assertArrayHasKey('found', $result); - $tasks = $result['found']; - - $this->assertEquals(2, count($tasks)); - /* @var Entity $task */ - foreach ($tasks as $task) { - if ($task->key()->pathEnd()['name'] === $path1) { - $task1 = $task; - } elseif ($task->key()->pathEnd()['name'] === $path2) { - $task2 = $task; - } else { - $this->fail( - sprintf( - 'Got an unexpected entity with the path:%s', - $task->key()->pathEnd()['name'] - ) - ); - } - } - $this->assertEquals('Personal', $task1['category']); - $this->assertEquals(false, $task1['done']); - $this->assertEquals(4, $task1['priority']); - $this->assertEquals('Learn Cloud Datastore', $task1['description']); - $this->assertEquals($path1, $task1->key()->pathEnd()['name']); - - $this->assertEquals('Work', $task2['category']); - $this->assertEquals(true, $task2['done']); - $this->assertEquals(0, $task2['priority']); - $this->assertEquals('Finish writing sample', $task2['description']); - $this->assertEquals($path2, $task2->key()->pathEnd()['name']); - } - - public function testBatchDelete() - { - $path1 = generateRandomString(); - $path2 = generateRandomString(); - $key1 = self::$datastore->key('Task', $path1); - $key2 = self::$datastore->key('Task', $path2); - $task1 = self::$datastore->entity($key1); - $task1['category'] = 'Personal'; - $task1['done'] = false; - $task1['priority'] = 4; - $task1['description'] = 'Learn Cloud Datastore'; - $task2 = self::$datastore->entity($key2); - $task2['category'] = 'Work'; - $task2['done'] = true; - $task2['priority'] = 0; - $task2['description'] = 'Finish writing sample'; - self::$keys[] = $key1; - self::$keys[] = $key2; - - batch_upsert(self::$datastore, [$task1, $task2]); - batch_delete(self::$datastore, [$key1, $key2]); - - $result = batch_lookup(self::$datastore, [$key1, $key2]); - $this->assertArrayNotHasKey('found', $result); - } - - public function testNamedKey() - { - $key = named_key(self::$datastore); - $this->assertEquals('Task', $key->pathEnd()['kind']); - $this->assertEquals('sampleTask', $key->pathEnd()['name']); - } - - public function testIncompleteKey() - { - $key = incomplete_key(self::$datastore); - $this->assertEquals('Task', $key->pathEnd()['kind']); - $this->assertArrayNotHasKey('name', $key->pathEnd()); - $this->assertArrayNotHasKey('id', $key->pathEnd()); - } - - public function testKeyWithParent() - { - $key = key_with_parent(self::$datastore); - $this->assertEquals('Task', $key->path()[1]['kind']); - $this->assertEquals('sampleTask', $key->path()[1]['name']); - $this->assertEquals('TaskList', $key->path()[0]['kind']); - $this->assertEquals('default', $key->path()[0]['name']); - } - - public function testKeyWithMultilevelParent() - { - $key = key_with_multilevel_parent(self::$datastore); - $this->assertEquals('Task', $key->path()[2]['kind']); - $this->assertEquals('sampleTask', $key->path()[2]['name']); - $this->assertEquals('TaskList', $key->path()[1]['kind']); - $this->assertEquals('default', $key->path()[1]['name']); - $this->assertEquals('User', $key->path()[0]['kind']); - $this->assertEquals('alice', $key->path()[0]['name']); - } - - public function testProperties() - { - $key = self::$datastore->key('Task', generateRandomString()); - self::$keys[] = $key; - $task = properties(self::$datastore, $key); - self::$datastore->upsert($task); - $task = self::$datastore->lookup($key); - $this->assertEquals('Personal', $task['category']); - $this->assertInstanceOf(\DateTimeInterface::class, $task['created']); - $this->assertGreaterThanOrEqual($task['created'], new \DateTime()); - $this->assertEquals(false, $task['done']); - $this->assertEquals(10.0, $task['percent_complete']); - $this->assertEquals(4, $task['priority']); - $this->assertEquals('Learn Cloud Datastore', $task['description']); - } - - public function testArrayValue() - { - $key = self::$datastore->key('Task', generateRandomString()); - self::$keys[] = $key; - $task = array_value(self::$datastore, $key); - self::$datastore->upsert($task); - $task = self::$datastore->lookup($key); - $this->assertEquals(['fun', 'programming'], $task['tags']); - $this->assertEquals(['alice', 'bob'], $task['collaborators']); - - $this->runEventuallyConsistentTest(function () use ($key) { - $query = self::$datastore->query() - ->kind('Task') - ->projection(['tags', 'collaborators']) - ->filter('collaborators', '<', 'charlie'); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $num = 0; - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertEquals($e->key()->path(), $key->path()); - $this->assertTrue( - ($e['tags'] == 'fun') - || - ($e['tags'] == 'programming') - ); - $this->assertTrue( - ($e['collaborators'] == 'alice') - || - ($e['collaborators'] == 'bob') - ); - $num += 1; - } - // The following 4 combinations should be in the result: - // tags = 'fun', collaborators = 'alice' - // tags = 'fun', collaborators = 'bob' - // tags = 'programming', collaborators = 'alice' - // tags = 'programming', collaborators = 'bob' - self::assertEquals(4, $num); - }); - } - - public function testBasicQuery() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['priority'] = 4; - $entity1['done'] = false; - $entity2['priority'] = 5; - $entity2['done'] = false; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = basic_query(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $key2, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(2, $num); - $this->assertTrue($entities[0]->key()->path() == $key2->path()); - $this->assertTrue($entities[1]->key()->path() == $key1->path()); - }); - } - - public function testRunQuery() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['priority'] = 4; - $entity1['done'] = false; - $entity2['priority'] = 5; - $entity2['done'] = false; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = basic_query(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $key2, $query) { - $result = run_query(self::$datastore, $query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(2, $num); - $this->assertTrue($entities[0]->key()->path() == $key2->path()); - $this->assertTrue($entities[1]->key()->path() == $key1->path()); - }); - } - - public function testPropertyFilter() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['done'] = false; - $entity2['done'] = true; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = property_filter(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(1, $num); - $this->assertTrue($entities[0]->key()->path() == $key1->path()); - }); - } - - public function testCompositeFilter() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['done'] = false; - $entity1['priority'] = 4; - $entity2['done'] = false; - $entity2['priority'] = 5; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = composite_filter(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(1, $num); - $this->assertTrue($entities[0]->key()->path() == $key1->path()); - }); - } - - public function testKeyFilter() - { - $key1 = self::$datastore->key('Task', 'taskWhichShouldMatch'); - $key2 = self::$datastore->key('Task', 'keyWhichShouldNotMatch'); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = key_filter(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(1, $num); - $this->assertTrue($entities[0]->key()->path() == $key1->path()); - }); - } - - public function testAscendingSort() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['created'] = new \DateTime('2016-10-13 14:04:01'); - $entity2['created'] = new \DateTime('2016-10-13 14:04:00'); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = ascending_sort(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $key2, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(2, $num); - $this->assertTrue($entities[0]->key()->path() == $key2->path()); - $this->assertTrue($entities[1]->key()->path() == $key1->path()); - }); - } - - public function testDescendingSort() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['created'] = new \DateTime('2016-10-13 14:04:00'); - $entity2['created'] = new \DateTime('2016-10-13 14:04:01'); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $query = descending_sort(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $key2, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(2, $num); - $this->assertTrue($entities[0]->key()->path() == $key2->path()); - $this->assertTrue($entities[1]->key()->path() == $key1->path()); - }); - } - - public function testMultiSort() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $key3 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity3 = self::$datastore->entity($key3); - $entity3['created'] = new \DateTime('2016-10-13 14:04:03'); - $entity3['priority'] = 5; - $entity2['created'] = new \DateTime('2016-10-13 14:04:01'); - $entity2['priority'] = 4; - $entity1['created'] = new \DateTime('2016-10-13 14:04:02'); - $entity1['priority'] = 4; - self::$keys = [$key1, $key2, $key3]; - self::$datastore->upsertBatch([$entity1, $entity2, $entity3]); - $query = multi_sort(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $key2, $key3, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(3, $num); - $this->assertTrue($entities[0]->key()->path() == $key3->path()); - $this->assertEquals(5, $entities[0]['priority']); - $this->assertTrue($entities[1]->key()->path() == $key2->path()); - $this->assertEquals(4, $entities[1]['priority']); - $this->assertTrue($entities[2]->key()->path() == $key1->path()); - $this->assertEquals(4, $entities[2]['priority']); - $this->assertTrue($entities[0]['created'] > $entities[1]['created']); - $this->assertTrue($entities[1]['created'] < $entities[2]['created']); - }); - } - - public function testAncestorQuery() - { - $key = self::$datastore->key('Task', generateRandomString()) - ->ancestor('TaskList', 'default'); - $entity = self::$datastore->entity($key); - $uniqueValue = generateRandomString(); - $entity['prop'] = $uniqueValue; - self::$keys[] = $key; - self::$datastore->upsert($entity); - $query = ancestor_query(self::$datastore); - $this->assertInstanceOf(Query::class, $query); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $found = false; - foreach ($result as $e) { - $found = true; - self::assertEquals($uniqueValue, $e['prop']); - } - self::assertTrue($found); - } - - public function testKindlessQuery() - { - $key1 = self::$datastore->key('Task', 'taskWhichShouldMatch'); - $key2 = self::$datastore->key('Task', 'entityWhichShouldNotMatch'); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $lastSeenKey = self::$datastore->key('Task', 'lastSeen'); - $query = kindless_query(self::$datastore, $lastSeenKey); - $this->assertInstanceOf(Query::class, $query); - - $this->runEventuallyConsistentTest( - function () use ($key1, $key2, $query) { - $result = self::$datastore->runQuery($query); - $num = 0; - $entities = []; - /* @var Entity $e */ - foreach ($result as $e) { - $entities[] = $e; - $num += 1; - } - self::assertEquals(1, $num); - $this->assertTrue($entities[0]->key()->path() == $key1->path()); - }); - } - - public function testKeysOnlyQuery() - { - $key = self::$datastore->key('Task', generateRandomString()); - $entity = self::$datastore->entity($key); - $entity['prop'] = 'value'; - self::$keys[] = $key; - self::$datastore->upsert($entity); - $this->runEventuallyConsistentTest(function () use ($key) { - $query = keys_only_query(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $found = false; - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertNull($e['prop']); - $this->assertEquals($key->path(), $e->key()->path()); - $found = true; - break; - } - self::assertTrue($found); - }); - } - - public function testProjectionQuery() - { - $key = self::$datastore->key('Task', generateRandomString()); - $entity = self::$datastore->entity($key); - $entity['prop'] = 'value'; - $entity['priority'] = 4; - $entity['percent_complete'] = 50; - self::$keys[] = $key; - self::$datastore->upsert($entity); - $this->runEventuallyConsistentTest(function () { - $query = projection_query(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $found = false; - foreach ($result as $e) { - $this->assertEquals(4, $e['priority']); - $this->assertEquals(50, $e['percent_complete']); - $this->assertNull($e['prop']); - $found = true; - } - self::assertTrue($found); - }); - } - - public function testRunProjectionQuery() - { - $key = self::$datastore->key('Task', generateRandomString()); - $entity = self::$datastore->entity($key); - $entity['prop'] = 'value'; - $entity['priority'] = 4; - $entity['percent_complete'] = 50; - self::$keys[] = $key; - self::$datastore->upsert($entity); - $this->runEventuallyConsistentTest(function () { - $query = projection_query(self::$datastore); - $result = run_projection_query(self::$datastore, $query); - $this->assertEquals(2, count($result)); - $this->assertEquals([4], $result[0]); - $this->assertEquals([50], $result[1]); - }); - } - - public function testDistinctOn() - { - $key1 = self::$datastore->key('Task', generateRandomString()); - $key2 = self::$datastore->key('Task', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['prop'] = 'value'; - $entity1['priority'] = 4; - $entity1['category'] = 'work'; - $entity2['priority'] = 5; - $entity2['category'] = 'work'; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $this->runEventuallyConsistentTest(function () use ($key1) { - $query = distinct_on(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $num = 0; - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertEquals(4, $e['priority']); - $this->assertEquals('work', $e['category']); - $this->assertNull($e['prop']); - $this->assertEquals($e->key()->path(), $key1->path()); - $num += 1; - } - self::assertEquals(1, $num); - }); - } - - public function testArrayValueFilters() - { - $key = self::$datastore->key('Task', generateRandomString()); - $entity = self::$datastore->entity($key); - $entity['tag'] = ['fun', 'programming']; - self::$keys[] = $key; - self::$datastore->upsert($entity); - // This is a test for non-matching query for eventually consistent - // query. This is hard, here we only sleep 5 seconds. - sleep(5); - $query = array_value_inequality_range(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity. Here is the tag: %s', - var_export($e['tag'], true) - ) - ); - } - $this->runEventuallyConsistentTest(function () use ($key) { - $query = array_value_equality(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $num = 0; - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertEquals(['fun', 'programming'], $e['tag']); - $this->assertEquals($e->key()->path(), $key->path()); - $num += 1; - } - self::assertEquals(1, $num); - }); - } - - public function testLimit() - { - $entities = []; - for ($i = 0; $i < 10; $i++) { - $key = self::$datastore->key('Task', generateRandomString()); - self::$keys[] = $key; - $entities[] = self::$datastore->entity($key); - } - self::$datastore->upsertBatch($entities); - $this->runEventuallyConsistentTest(function () { - $query = limit(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - $num = 0; - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertEquals('Task', $e->key()->path()[0]['kind']); - $num += 1; - } - self::assertEquals(5, $num); - }); - } - - public function testCursorPaging() - { - $entities = []; - for ($i = 0; $i < 5; $i++) { - $key = self::$datastore->key('Task', generateRandomString()); - self::$keys[] = $key; - $entities[] = self::$datastore->entity($key); - } - self::$datastore->upsertBatch($entities); - $this->runEventuallyConsistentTest(function () { - $res = cursor_paging(self::$datastore, 3); - $this->assertEquals(3, count($res['entities'])); - $res = cursor_paging(self::$datastore, 3, $res['nextPageCursor']); - $this->assertEquals(2, count($res['entities'])); - }); - } - - public function testInequalityRange() - { - $query = inequality_range(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with a key: %s', - var_export($e->key()->path(), true) - ) - ); - } - } - - /** - * @expectedException Google\Cloud\Core\Exception\BadRequestException - */ - public function testInequalityInvalid() - { - $query = inequality_invalid(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with a key: %s', - var_export($e->key()->path(), true) - ) - ); - } - } - - public function testEqualAndInequalityRange() - { - $query = equal_and_inequality_range(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with a key: %s', - var_export($e->key()->path(), true) - ) - ); - } - } - - public function testInequalitySort() - { - $query = inequality_sort(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with a key: %s', - var_export($e->key()->path(), true) - ) - ); - } - } - - /** - * @expectedException Google\Cloud\Core\Exception\BadRequestException - */ - public function testInequalitySortInvalidNotSame() - { - $query = inequality_sort_invalid_not_same(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with a key: %s', - var_export($e->key()->path(), true) - ) - ); - } - } - - /** - * @expectedException Google\Cloud\Core\Exception\BadRequestException - */ - public function testInequalitySortInvalidNotFirst() - { - $query = inequality_sort_invalid_not_first(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with a key: %s', - var_export($e->key()->path(), true) - ) - ); - } - } - - public function testUnindexedPropertyQuery() - { - $query = unindexed_property_query(self::$datastore); - $result = self::$datastore->runQuery($query); - $this->assertInstanceOf(Iterator::class, $result); - /* @var Entity $e */ - foreach ($result as $e) { - $this->fail( - sprintf( - 'Should not match the entity with this query with ' - . ' a description: %s', - $e['description'] - ) - ); - } - } - - public function testExplodingProperties() - { - $task = exploding_properties(self::$datastore); - self::$datastore->insert($task); - self::$keys[] = $task->key(); - $this->assertEquals(['fun', 'programming', 'learn'], $task['tags']); - $this->assertEquals( - ['alice', 'bob', 'charlie'], - $task['collaborators'] - ); - $this->assertArrayHasKey('id', $task->key()->pathEnd()); - } - - public function testTransferFunds() - { - $key1 = self::$datastore->key('Account', generateRandomString()); - $key2 = self::$datastore->key('Account', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['balance'] = 100; - $entity2['balance'] = 0; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - transfer_funds(self::$datastore, $key1, $key2, 100); - $fromAccount = self::$datastore->lookup($key1); - $this->assertEquals(0, $fromAccount['balance']); - $toAccount = self::$datastore->lookup($key2); - $this->assertEquals(100, $toAccount['balance']); - } - - public function testTransactionalRetry() - { - $key1 = self::$datastore->key('Account', generateRandomString()); - $key2 = self::$datastore->key('Account', generateRandomString()); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - $entity1['balance'] = 10; - $entity2['balance'] = 0; - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - transactional_retry(self::$datastore, $key1, $key2); - $fromAccount = self::$datastore->lookup($key1); - $this->assertEquals(0, $fromAccount['balance']); - $toAccount = self::$datastore->lookup($key2); - $this->assertEquals(10, $toAccount['balance']); - } - - public function testGetTaskListEntities() - { - $taskListKey = self::$datastore->key('TaskList', 'default'); - $taskKey = self::$datastore->key('Task', 'first task') - ->ancestorKey($taskListKey); - $task = self::$datastore->entity( - $taskKey, - ['description' => 'finish datastore sample'] - ); - self::$keys[] = $taskKey; - self::$datastore->upsert($task); - $result = get_task_list_entities(self::$datastore); - $num = 0; - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertEquals($taskKey->path(), $e->key()->path()); - $this->assertEquals('finish datastore sample', $e['description']); - $num += 1; - } - self::assertEquals(1, $num); - } - - public function testEventualConsistentQuery() - { - $taskListKey = self::$datastore->key('TaskList', 'default'); - $taskKey = self::$datastore->key('Task', generateRandomString()) - ->ancestorKey($taskListKey); - $task = self::$datastore->entity( - $taskKey, - ['description' => 'learn eventual consistency'] - ); - self::$keys[] = $taskKey; - self::$datastore->upsert($task); - $this->runEventuallyConsistentTest(function () use ($taskKey) { - $num = 0; - $result = get_task_list_entities(self::$datastore); - /* @var Entity $e */ - foreach ($result as $e) { - $this->assertEquals($taskKey->path(), $e->key()->path()); - $this->assertEquals( - 'learn eventual consistency', - $e['description']); - $num += 1; - } - self::assertEquals(1, $num); - }); - } - - public function testEntityWithParent() - { - $entity = entity_with_parent(self::$datastore); - $parentPath = ['kind' => 'TaskList', 'name' => 'default']; - $pathEnd = ['kind' => 'Task']; - $this->assertEquals($parentPath, $entity->key()->path()[0]); - $this->assertEquals($pathEnd, $entity->key()->path()[1]); - } - - public function testNamespaceRunQuery() - { - $testNamespace = 'namespaceTest'; - $datastore = new DatastoreClient( - ['namespaceId' => $testNamespace] - ); - // Fixed namespace and the entity key. We don't need to clean it up. - $key = $datastore->key('Task', 'namespaceTestKey'); - $datastore->upsert($datastore->entity($key)); - - $this->runEventuallyConsistentTest( - function () use ($datastore, $testNamespace) { - $namespaces = namespace_run_query($datastore, 'm', 'o'); - $this->assertEquals([$testNamespace], $namespaces); - } - ); - } - - public function testKindRunQuery() - { - $key1 = self::$datastore->key('Account', 'alice'); - $key2 = self::$datastore->key('Task', 'Task1'); - $entity1 = self::$datastore->entity($key1); - $entity2 = self::$datastore->entity($key2); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $this->runEventuallyConsistentTest(function () { - $kinds = kind_run_query(self::$datastore); - $this->assertEquals(['Account', 'Task'], $kinds); - }); - } - - public function testPropertyRunQuery() - { - $key1 = self::$datastore->key('Account', 'alice'); - $key2 = self::$datastore->key('Task', 'Task1'); - $entity1 = self::$datastore->entity($key1, ['accountType' => 'gold']); - $entity2 = self::$datastore->entity($key2, ['description' => 'desc']); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $this->runEventuallyConsistentTest(function () { - $properties = property_run_query(self::$datastore); - $this->assertEquals( - ['Account.accountType', 'Task.description'], - $properties - ); - }); - } - - public function testPropertyByKindRunQuery() - { - $key1 = self::$datastore->key('Account', 'alice'); - $key2 = self::$datastore->key('Task', 'Task1'); - $entity1 = self::$datastore->entity($key1, ['accountType' => 'gold']); - $entity2 = self::$datastore->entity($key2, ['description' => 'desc']); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $this->runEventuallyConsistentTest(function () { - $properties = property_by_kind_run_query(self::$datastore); - $this->assertArrayHasKey('description', $properties); - $this->assertEquals(['STRING'], $properties['description']); - }); - } - - public function testPropertyFilteringRunQuery() - { - $key1 = self::$datastore->key('TaskList', 'default'); - $key2 = self::$datastore->key('Task', 'Task1'); - $entity1 = self::$datastore->entity( - $key1, - ['created' => new \Datetime()] - ); - $entity2 = self::$datastore->entity( - $key2, - [ - 'category' => 'work', - 'priority' => 4, - 'tags' => ['programming', 'fun'] - ] - ); - self::$keys = [$key1, $key2]; - self::$datastore->upsertBatch([$entity1, $entity2]); - $this->runEventuallyConsistentTest(function () { - $properties = property_filtering_run_query(self::$datastore); - $this->assertEquals( - ['Task.priority', 'Task.tags', 'TaskList.created'], - $properties - ); - }); - } - - public function tearDown() - { - if (! empty(self::$keys)) { - self::$datastore->deleteBatch(self::$keys); - } - } -} diff --git a/datastore/quickstart/composer.json b/datastore/quickstart/composer.json deleted file mode 100644 index c9beffb784..0000000000 --- a/datastore/quickstart/composer.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "require": { - "php": ">=5.4", - "google/cloud-datastore": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/datastore/quickstart/composer.lock b/datastore/quickstart/composer.lock deleted file mode 100644 index 5c84c0180f..0000000000 --- a/datastore/quickstart/composer.lock +++ /dev/null @@ -1,1753 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "066acffc0c531ba8e92c73b7b16a07fd", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "7a209c6ff0cd92a5ef028c81589415c9e3e4d05b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/7a209c6ff0cd92a5ef028c81589415c9e3e4d05b", - "reference": "7a209c6ff0cd92a5ef028c81589415c9e3e4d05b", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "google/cloud-datastore", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-datastore.git", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-datastore/zipball/f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-datastore", - "target": "GoogleCloudPlatform/google-cloud-php-datastore.git", - "path": "src/Datastore", - "entry": "DatastoreClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Datastore\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Datastore Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.4" - }, - "platform-dev": [] -} diff --git a/datastore/quickstart/phpunit.xml.dist b/datastore/quickstart/phpunit.xml.dist deleted file mode 100644 index 9053da920a..0000000000 --- a/datastore/quickstart/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - quickstart.php - - - diff --git a/datastore/quickstart/quickstart.php b/datastore/quickstart/quickstart.php deleted file mode 100644 index c2a9e6d71e..0000000000 --- a/datastore/quickstart/quickstart.php +++ /dev/null @@ -1,50 +0,0 @@ - $projectId -]); - -# The kind for the new entity -$kind = 'Task'; - -# The name/ID for the new entity -$name = 'sampletask1'; - -# The Cloud Datastore key for the new entity -$taskKey = $datastore->key($kind, $name); - -# Prepares the new entity -$task = $datastore->entity($taskKey, ['description' => 'Buy milk']); - -# Saves the entity -$datastore->upsert($task); - -echo 'Saved ' . $task->key() . ': ' . $task['description'] . PHP_EOL; -# [END datastore_quickstart] -return $task; diff --git a/datastore/quickstart/test/quickstartTest.php b/datastore/quickstart/test/quickstartTest.php deleted file mode 100644 index 207a544691..0000000000 --- a/datastore/quickstart/test/quickstartTest.php +++ /dev/null @@ -1,45 +0,0 @@ -markTestSkipped('GOOGLE_PROJECT_ID must be set.'); - } - - $file = sys_get_temp_dir() . '/datastore_quickstart.php'; - $contents = file_get_contents(__DIR__ . '/../quickstart.php'); - $contents = str_replace( - ['YOUR_PROJECT_ID', '__DIR__'], - [$projectId, sprintf('"%s/.."', __DIR__)], - $contents - ); - file_put_contents($file, $contents); - - // Invoke quickstart.php - $entity = include $file; - - // Make sure it looks correct - $this->assertInstanceOf('Google\Cloud\Datastore\Entity', $entity); - $this->assertEquals('sampletask1', $entity->key()->path()[0]['name']); - $this->assertEquals('Buy milk', $entity['description']); - } -} diff --git a/datastore/tutorial/README.md b/datastore/tutorial/README.md deleted file mode 100644 index b5505b15a2..0000000000 --- a/datastore/tutorial/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Cloud Datastore sample application - -This code sample is intended to be in the following document: -https://cloud.google.com/datastore/docs/datastore-api-tutorial - -The code is using -[Google Cloud Client Library for PHP](https://googlecloudplatform.github.io/google-cloud-php/#/). - -To run the sample, do the following first: - -1. [Enable billing](https://support.google.com/cloud/answer/6293499#enable-billing). -1. [Enable the Cloud Datastore API](https://console.cloud.google.com/flows/enableapi?apiid=datastore.googleapis.com). -1. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). - -Then use one of the following methods: - -1. Run `gcloud auth application-default login` - -or - -1. Create a service account at the -[Service account section in the Cloud Console](https://console.cloud.google.com/iam-admin/serviceaccounts/) -1. Download the json key file of the service account. -1. Set GOOGLE_APPLICATION_CREDENTIALS environment variable pointing to that file. - -Then you can run the command: `php tasks.php` diff --git a/datastore/tutorial/composer.json b/datastore/tutorial/composer.json deleted file mode 100644 index 1cd55355e5..0000000000 --- a/datastore/tutorial/composer.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "require": { - "google/cloud-datastore": "^1.0", - "symfony/console": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8", - "google/cloud-tools": "^0.6" - }, - "autoload": { - "psr-4": { "Google\\Cloud\\Samples\\Datastore\\Tasks\\": "src" }, - "files": ["src/functions.php"] - } -} diff --git a/datastore/tutorial/composer.lock b/datastore/tutorial/composer.lock deleted file mode 100644 index 39f47f0faa..0000000000 --- a/datastore/tutorial/composer.lock +++ /dev/null @@ -1,2142 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "20840082bb16ed28782541de4abd3bd0", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "7a209c6ff0cd92a5ef028c81589415c9e3e4d05b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/7a209c6ff0cd92a5ef028c81589415c9e3e4d05b", - "reference": "7a209c6ff0cd92a5ef028c81589415c9e3e4d05b", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "google/cloud-datastore", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-datastore.git", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-datastore/zipball/f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-datastore", - "target": "GoogleCloudPlatform/google-cloud-php-datastore.git", - "path": "src/Datastore", - "entry": "DatastoreClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Datastore\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Datastore Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "symfony/console", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "c30243cc51f726812be3551316b109a2f5deaf8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c30243cc51f726812be3551316b109a2f5deaf8d", - "reference": "c30243cc51f726812be3551316b109a2f5deaf8d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-04-04T14:33:42+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "56f613406446a4a0a031475cfd0a01751de22659" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/56f613406446a4a0a031475cfd0a01751de22659", - "reference": "56f613406446a4a0a031475cfd0a01751de22659", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-28T21:38:24+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-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": "2016-11-14T01:06:16+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08T07:14:41+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "reference": "2fe0caa60c1a1dfeefd0425741182687a9b382b8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/dom-crawler": "~2.8|~3.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "reference": "403944e294cf4ceb3b8447f54cbad88ea7b99cee", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2017-02-21T09:12:04+00:00" - }, - { - "name": "symfony/process", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/57fdaa55827ae14d617550ebe71a820f0a5e2282", - "reference": "57fdaa55827ae14d617550ebe71a820f0a5e2282", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-27T18:07:02+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "reference": "62b4cdb99d52cb1ff253c465eb1532a80cebb621", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-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": "2017-03-20T09:45:15+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/datastore/tutorial/phpunit.xml.dist b/datastore/tutorial/phpunit.xml.dist deleted file mode 100644 index ca14a31ed1..0000000000 --- a/datastore/tutorial/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - ./src - - - diff --git a/datastore/tutorial/src/CreateTaskCommand.php b/datastore/tutorial/src/CreateTaskCommand.php deleted file mode 100644 index e151790298..0000000000 --- a/datastore/tutorial/src/CreateTaskCommand.php +++ /dev/null @@ -1,67 +0,0 @@ -setName('new') - ->setDescription('Adds a task with a description') - ->addArgument( - 'description', - InputArgument::REQUIRED, - 'The description of the new task' - ) - ->addOption( - 'project-id', - null, - InputOption::VALUE_OPTIONAL, - 'Your cloud project id' - ); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $projectId = $input->getOption('project-id'); - if (!empty($projectId)) { - $datastore = build_datastore_service($projectId); - } else { - $datastore = build_datastore_service_with_namespace(); - } - $description = $input->getArgument('description'); - $task = add_task($datastore, $description); - $output->writeln( - sprintf( - 'Created new task with ID %d.', $task->key()->pathEnd()['id'] - ) - ); - } -} diff --git a/datastore/tutorial/src/DeleteTaskCommand.php b/datastore/tutorial/src/DeleteTaskCommand.php deleted file mode 100644 index ffe889247f..0000000000 --- a/datastore/tutorial/src/DeleteTaskCommand.php +++ /dev/null @@ -1,63 +0,0 @@ -setName('delete') - ->setDescription('Delete a task') - ->addArgument( - 'taskId', - InputArgument::REQUIRED, - 'The id of the task to delete' - ) - ->addOption( - 'project-id', - null, - InputOption::VALUE_OPTIONAL, - 'Your cloud project id' - ); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $projectId = $input->getOption('project-id'); - if (!empty($projectId)) { - $datastore = build_datastore_service($projectId); - } else { - $datastore = build_datastore_service_with_namespace(); - } - $taskId = intval($input->getArgument('taskId')); - delete_task($datastore, $taskId); - $output->writeln(sprintf('Task %d deleted successfully.', $taskId)); - } -} diff --git a/datastore/tutorial/src/ListTasksCommand.php b/datastore/tutorial/src/ListTasksCommand.php deleted file mode 100644 index 102099595b..0000000000 --- a/datastore/tutorial/src/ListTasksCommand.php +++ /dev/null @@ -1,74 +0,0 @@ -setName('list-tasks') - ->setDescription( - 'List all the tasks in ascending order of creation time') - ->addOption( - 'project-id', - null, - InputOption::VALUE_OPTIONAL, - 'Your cloud project id' - ); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $projectId = $input->getOption('project-id'); - if (!empty($projectId)) { - $datastore = build_datastore_service($projectId); - } else { - $datastore = build_datastore_service_with_namespace(); - } - $result = list_tasks($datastore); - $table = new Table($output); - $table->setHeaders(array('ID', 'Description', 'Status', 'Created')); - /* @var Entity $task */ - foreach ($result as $index => $task) { - $done = $task['done'] ? 'done' : 'created'; - $table->setRow( - $index, - array( - $task->key()->pathEnd()['id'], - $task['description'], - $done, - $task['created']->format('Y-m-d H:i:s e') - ) - ); - } - $table->render(); - } -} diff --git a/datastore/tutorial/src/MarkTaskDoneCommand.php b/datastore/tutorial/src/MarkTaskDoneCommand.php deleted file mode 100644 index eb93a7253e..0000000000 --- a/datastore/tutorial/src/MarkTaskDoneCommand.php +++ /dev/null @@ -1,63 +0,0 @@ -setName('done') - ->setDescription('Mark a task as done') - ->addArgument( - 'taskId', - InputArgument::REQUIRED, - 'The id of the task to mark as done' - ) - ->addOption( - 'project-id', - null, - InputOption::VALUE_OPTIONAL, - 'Your cloud project id' - ); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $projectId = $input->getOption('project-id'); - if (!empty($projectId)) { - $datastore = build_datastore_service($projectId); - } else { - $datastore = build_datastore_service_with_namespace(); - } - $taskId = intval($input->getArgument('taskId')); - mark_done($datastore, $taskId); - $output->writeln(sprintf('Task %d updated successfully.', $taskId)); - } -} diff --git a/datastore/tutorial/src/functions.php b/datastore/tutorial/src/functions.php deleted file mode 100644 index 73bf9684cb..0000000000 --- a/datastore/tutorial/src/functions.php +++ /dev/null @@ -1,123 +0,0 @@ - $projectId]); - return $datastore; -} -// [END build_service] - -/** - * Create a Cloud Datastore client with a namespace. - * - * @return DatastoreClient - */ -function build_datastore_service_with_namespace() -{ - $namespaceId = getenv('CLOUD_DATASTORE_NAMESPACE'); - if ($namespaceId === false) { - return new DatastoreClient(); - } - return new DatastoreClient(['namespaceId' => $namespaceId]); -} - -// [START add_entity] -/** - * Create a new task with a given description. - * - * @param DatastoreClient $datastore - * @param $description - * @return Google\Cloud\Datastore\Entity - */ -function add_task(DatastoreClient $datastore, $description) -{ - $taskKey = $datastore->key('Task'); - $task = $datastore->entity( - $taskKey, - [ - 'created' => new DateTime(), - 'description' => $description, - 'done' => false - ], - ['excludeFromIndexes' => ['description']] - ); - $datastore->insert($task); - return $task; -} -// [END add_entity] - -// [START update_entity] -/** - * Mark a task with a given id as done. - * - * @param DatastoreClient $datastore - * @param int $taskId - */ -function mark_done(DatastoreClient $datastore, $taskId) -{ - $taskKey = $datastore->key('Task', $taskId); - $transaction = $datastore->transaction(); - $task = $transaction->lookup($taskKey); - $task['done'] = true; - $transaction->upsert($task); - $transaction->commit(); -} -// [END update_entity] - -// [START delete_entity] -/** - * Delete a task with a given id. - * - * @param DatastoreClient $datastore - * @param $taskId - */ -function delete_task(DatastoreClient $datastore, $taskId) -{ - $taskKey = $datastore->key('Task', $taskId); - $datastore->delete($taskKey); -} -// [END delete_entity] - -// [START retrieve_entities] -/** - * Return an iterator for all the tasks in ascending order of creation time. - * - * @param DatastoreClient $datastore - * @return EntityIterator - */ -function list_tasks(DatastoreClient $datastore) -{ - $query = $datastore->query() - ->kind('Task') - ->order('created'); - return $datastore->runQuery($query); -} -// [END retrieve_entities] diff --git a/datastore/tutorial/tasks.php b/datastore/tutorial/tasks.php deleted file mode 100755 index 2d8f71da44..0000000000 --- a/datastore/tutorial/tasks.php +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env php -setName('Cloud Datastore sample cli'); -$application->add(new CreateTaskCommand()); -$application->add(new DeleteTaskCommand()); -$application->add(new ListTasksCommand()); -$application->add(new MarkTaskDoneCommand()); -$application->run(); diff --git a/datastore/tutorial/test/CommandSystemTest.php b/datastore/tutorial/test/CommandSystemTest.php deleted file mode 100644 index 84e4690398..0000000000 --- a/datastore/tutorial/test/CommandSystemTest.php +++ /dev/null @@ -1,160 +0,0 @@ - */ - private $keys; - - /* @var DatastoreClient $datastore */ - private $datastore; - - public function setUp() - { - $path = getenv('GOOGLE_APPLICATION_CREDENTIALS'); - if (!($path && file_exists($path) && filesize($path) > 0)) { - $this->markTestSkipped( - 'No service account credentials were found.' - ); - } - $this->datastore = build_datastore_service_with_namespace(); - // Also delete stale entities here. - /* @var array $keys */ - $keys = []; - $query = $this->datastore->query()->kind('Task'); - foreach ($this->datastore->runQuery($query) as $entity) { - $keys[] = $entity->key(); - } - $this->datastore->deleteBatch($keys); - $this->keys = array(); - } - - public function tearDown() - { - if (!empty($this->keys)) { - $this->datastore->deleteBatch($this->keys); - } - } - - public function testSeriesOfCommands() - { - $application = new Application(); - $application->add(new CreateTaskCommand()); - $application->add(new DeleteTaskCommand()); - $application->add(new ListTasksCommand()); - $application->add(new MarkTaskDoneCommand()); - - // Test CreateTaskCommand - $commandTester = new CommandTester($application->get('new')); - $commandTester->execute( - [ - 'description' => 'run tests' - ], - ['interactive' => false] - ); - $output = $commandTester->getDisplay(); - preg_match('/Created new task with ID (\d+)./', $output, $matches); - $this->assertEquals(2, count($matches)); - $createdKey1 = $this->datastore->key('Task', intval($matches[1])); - $this->keys[] = $createdKey1; - - // Create second task - $commandTester->execute( - [ - 'description' => 'run tests twice' - ], - ['interactive' => false] - ); - $output = $commandTester->getDisplay(); - preg_match('/Created new task with ID (\d+)./', $output, $matches); - $this->assertEquals(2, count($matches)); - $createdKey2 = $this->datastore->key('Task', intval($matches[1])); - $this->keys[] = $createdKey2; - - // Create third task - $commandTester->execute( - [ - 'description' => 'run tests three times' - ], - ['interactive' => false] - ); - $output = $commandTester->getDisplay(); - preg_match('/Created new task with ID (\d+)./', $output, $matches); - $this->assertEquals(2, count($matches)); - $createdKey3 = $this->datastore->key('Task', intval($matches[1])); - $this->keys[] = $createdKey3; - - // First confirm the existence - $firstTask = $this->datastore->lookup($createdKey1); - $this->assertNotNull($firstTask); - $this->assertEquals(false, $firstTask['done']); - - // Test MarkTaskDoneCommand - $commandTester = new CommandTester($application->get('done')); - $commandTester->execute( - [ - 'taskId' => $createdKey1->pathEnd()['id'] - ], - ['interactive' => false] - ); - $output = $commandTester->getDisplay(); - preg_match('/Task (\d+) updated successfully./', $output, $matches); - $this->assertEquals(2, count($matches)); - $this->assertEquals($createdKey1->pathEnd()['id'], intval($matches[1])); - - // Confirm it's marked as done. - $firstTask = $this->datastore->lookup($createdKey1); - $this->assertNotNull($firstTask); - $this->assertEquals(true, $firstTask['done']); - - // Test DeleteTaskCommand - $commandTester = new CommandTester($application->get('delete')); - $commandTester->execute( - [ - 'taskId' => $createdKey1->pathEnd()['id'] - ], - ['interactive' => false] - ); - $output = $commandTester->getDisplay(); - preg_match('/Task (\d+) deleted successfully./', $output, $matches); - $this->assertEquals(2, count($matches)); - $this->assertEquals($createdKey1->pathEnd()['id'], intval($matches[1])); - - // Confirm it's gone. - $firstTask = $this->datastore->lookup($createdKey1); - $this->assertNull($firstTask); - - // Test ListTasksCommand - $commandTester = new CommandTester($application->get('list-tasks')); - $commandTester->execute( - [], - ['interactive' => false] - ); - $output = $commandTester->getDisplay(); - $result = preg_match('/run tests twice/', $output); - $this->assertEquals(1, $result); - $result = preg_match('/run tests three times/', $output); - $this->assertEquals(1, $result); - } -} diff --git a/datastore/tutorial/test/FunctionsTest.php b/datastore/tutorial/test/FunctionsTest.php deleted file mode 100644 index 5be7da6a27..0000000000 --- a/datastore/tutorial/test/FunctionsTest.php +++ /dev/null @@ -1,112 +0,0 @@ - 0; - self::$datastore = build_datastore_service_with_namespace(); - self::$keys[] = self::$datastore->key('Task', 'sampleTask'); - } - - public function testBuildDatastoreService() - { - $client = build_datastore_service('my-project-id'); - $this->assertInstanceOf(DatastoreClient::class, $client); - } - - public function testAddTask() - { - $task = add_task(self::$datastore, 'buy milk'); - self::$keys[] = $task->key(); - $this->assertEquals('buy milk', $task['description']); - $this->assertInstanceOf(\DateTimeInterface::class, $task['created']); - $this->assertEquals(false, $task['done']); - $this->assertEquals('buy milk', $task['description']); - $this->assertArrayHasKey('id', $task->key()->pathEnd()); - } - - public function testMarkDone() - { - $task = add_task(self::$datastore, 'buy milk'); - self::$keys[] = $task->key(); - mark_done(self::$datastore, $task->key()->pathEnd()['id']); - $updated = self::$datastore->lookup($task->key()); - $this->assertEquals('buy milk', $updated['description']); - $this->assertInstanceOf(\DateTimeInterface::class, $updated['created']); - $this->assertEquals(true, $updated['done']); - $this->assertEquals('buy milk', $updated['description']); - $this->assertArrayHasKey('id', $updated->key()->pathEnd()); - } - - public function testDeleteTask() - { - $task = add_task(self::$datastore, 'buy milk'); - self::$keys[] = $task->key(); - delete_task(self::$datastore, $task->key()->pathEnd()['id']); - $shouldBeNull = self::$datastore->lookup($task->key()); - $this->assertNull($shouldBeNull); - } - - public function testListTasks() - { - $task = add_task(self::$datastore, 'buy milk'); - self::$keys[] = $task->key(); - $this->runEventuallyConsistentTest(function () { - $result = list_tasks(self::$datastore); - $found = 0; - foreach ($result as $task) { - if ($task['description'] === 'buy milk') { - $this->assertInstanceOf( - \DateTimeInterface::class, - $task['created'] - ); - $this->assertEquals(false, $task['done']); - $this->assertArrayHasKey('id', $task->key()->pathEnd()); - $found += 1; - } - } - $this->assertEquals(1, $found, 'It should list a new task.'); - }); - } - - public function tearDown() - { - if (! empty(self::$keys)) { - self::$datastore->deleteBatch(self::$keys); - } - } -} From c2865253b8c49bb11d50dd009e9b21c0112db7fa Mon Sep 17 00:00:00 2001 From: Suguru Shirai Date: Sat, 9 Sep 2017 12:26:05 +0900 Subject: [PATCH 04/17] Delete dlp sample --- dlp/README.md | 57 - dlp/composer.json | 21 - dlp/composer.lock | 1940 --------------------------------- dlp/dlp.php | 100 -- dlp/phpunit.xml.dist | 34 - dlp/quickstart.php | 82 -- dlp/src/inspect_datastore.php | 108 -- dlp/src/inspect_file.php | 84 -- dlp/src/inspect_string.php | 83 -- dlp/src/list_categories.php | 44 - dlp/src/list_info_types.php | 45 - dlp/src/redact_string.php | 78 -- dlp/test/data/harmless.txt | 1 - dlp/test/data/test.png | Bin 21438 -> 0 bytes dlp/test/data/test.txt | 1 - dlp/test/dlpTest.php | 133 --- dlp/test/quickstartTest.php | 34 - 17 files changed, 2845 deletions(-) delete mode 100644 dlp/README.md delete mode 100644 dlp/composer.json delete mode 100644 dlp/composer.lock delete mode 100644 dlp/dlp.php delete mode 100644 dlp/phpunit.xml.dist delete mode 100644 dlp/quickstart.php delete mode 100644 dlp/src/inspect_datastore.php delete mode 100644 dlp/src/inspect_file.php delete mode 100644 dlp/src/inspect_string.php delete mode 100644 dlp/src/list_categories.php delete mode 100644 dlp/src/list_info_types.php delete mode 100644 dlp/src/redact_string.php delete mode 100644 dlp/test/data/harmless.txt delete mode 100644 dlp/test/data/test.png delete mode 100644 dlp/test/data/test.txt delete mode 100644 dlp/test/dlpTest.php delete mode 100644 dlp/test/quickstartTest.php diff --git a/dlp/README.md b/dlp/README.md deleted file mode 100644 index 9c3b8e103a..0000000000 --- a/dlp/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# Google DLP PHP Sample Application - -## Description - -This simple command-line application demonstrates how to invoke Google -DLP API from PHP. - -## Build and Run -1. **Enable APIs** - [Enable the DLP API]( - https://console.cloud.google.com/flows/enableapi?apiid=dlp.googleapis.com) - and create a new project or select an existing project. -2. **Download The Credentials** - Click "Go to credentials" after enabling the APIs. Click - "New Credentials" - and select "Service Account Key". Create a new service account, use the JSON key type, and - select "Create". Once downloaded, set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` - to the path of the JSON key that was downloaded. -3. **Clone the repo** and cd into this directory -``` - $ git clone https://github.com/GoogleCloudPlatform/php-docs-samples - $ cd php-docs-samples/dlp -``` -4. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). -5. Run `php dlp.php`. The following commands are available: - - ``` - help Displays help for a command - inspect-datastore Inspect Cloud Datastore using the Data Loss Prevention (DLP) API. - inspect-file Inspect a file using the Data Loss Prevention (DLP) API. - inspect-string Inspect a string using the Data Loss Prevention (DLP) API. - list Lists commands - list-categories Lists all Info Type Categories for the Data Loss Prevention (DLP) API. - list-info-types Lists all Info Types for the Data Loss Prevention (DLP) API. - redact-string Redact sensitive data from a string using the Data Loss Prevention (DLP) API. - ``` - - Example: - - ``` - $ php dlp.php inspect-string 'Robert Frost' - Findings: - Quote: Robert - Info type: US_MALE_NAME - Likelihood: Very likely - ``` - - -6. Run `php dlp.php COMMAND --help` to print information about the usage of each command. - -## Contributing changes - -* See [CONTRIBUTING.md](../../CONTRIBUTING.md) - -## Licensing - -* See [LICENSE](../../LICENSE) diff --git a/dlp/composer.json b/dlp/composer.json deleted file mode 100644 index ceedd9c16b..0000000000 --- a/dlp/composer.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "google/dlp-sample", - "type": "project", - "require": { - "google/cloud-dlp": "^0.1.0", - "symfony/console": "^3.3" - }, - "autoload": { - "files": [ - "src/inspect_datastore.php", - "src/inspect_file.php", - "src/inspect_string.php", - "src/list_categories.php", - "src/list_info_types.php", - "src/redact_string.php" - ] - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/dlp/composer.lock b/dlp/composer.lock deleted file mode 100644 index cda4f2a504..0000000000 --- a/dlp/composer.lock +++ /dev/null @@ -1,1940 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "23c4e23017e68d9b7352b4fc1a90e276", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v1.0", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "db77bd2de0bcc40bf50ebe851e9eed332aeaa4df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/db77bd2de0bcc40bf50ebe851e9eed332aeaa4df", - "reference": "db77bd2de0bcc40bf50ebe851e9eed332aeaa4df", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3.1|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2017-06-13T18:00:07+00:00" - }, - { - "name": "google/cloud-dlp", - "version": "v0.1.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-dlp.git", - "reference": "f1509118cf9881e3aa3c561f61336e3eb77a9f28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-dlp/zipball/f1509118cf9881e3aa3c561f61336e3eb77a9f28", - "reference": "f1509118cf9881e3aa3c561f61336e3eb77a9f28", - "shasum": "" - }, - "require": { - "ext-grpc": "*", - "google/gax": "^0.21.0", - "google/proto-client": "^0.21.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-dlp", - "target": "GoogleCloudPlatform/google-cloud-php-dlp.git", - "path": "src/Dlp", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Dlp\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Data Loss Prevention Client for PHP", - "time": "2017-07-11T20:42:37+00:00" - }, - { - "name": "google/gax", - "version": "0.21.1", - "source": { - "type": "git", - "url": "https://github.com/googleapis/gax-php.git", - "reference": "cbc6710a9ae2d1061b3a1987a2854381cf2c0319" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/googleapis/gax-php/zipball/cbc6710a9ae2d1061b3a1987a2854381cf2c0319", - "reference": "cbc6710a9ae2d1061b3a1987a2854381cf2c0319", - "shasum": "" - }, - "require": { - "google/auth": "^1.0", - "google/protobuf": "^3.3.2", - "grpc/grpc": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "4.8.*", - "squizlabs/php_codesniffer": "2.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\GAX\\": "src/", - "Google\\GAX\\UnitTests\\": "tests/", - "Google\\": "src/generated/Google/", - "GPBMetadata\\": "src/generated/GPBMetadata/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Google API Extensions for PHP", - "homepage": "https://github.com/googleapis/gax-php", - "keywords": [ - "google" - ], - "time": "2017-07-13T15:53:41+00:00" - }, - { - "name": "google/proto-client", - "version": "0.21.1", - "source": { - "type": "git", - "url": "https://github.com/googleapis/proto-client-php.git", - "reference": "ef2b7e9a1b0dd5d0ed3ca921d3ff13f9c0982519" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/googleapis/proto-client-php/zipball/ef2b7e9a1b0dd5d0ed3ca921d3ff13f9c0982519", - "reference": "ef2b7e9a1b0dd5d0ed3ca921d3ff13f9c0982519", - "shasum": "" - }, - "require": { - "google/protobuf": "^3.3.2", - "php": ">=5.5" - }, - "require-dev": { - "google/gax": ">=0.20.0", - "phpunit/phpunit": "4.8.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\": "src/Google/", - "GPBMetadata\\": "src/GPBMetadata/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Generated proto and gRPC classes for Google Cloud Platform in PHP", - "homepage": "https://github.com/googleapis/proto-client-php", - "keywords": [ - "google" - ], - "time": "2017-07-10T16:58:12+00:00" - }, - { - "name": "google/protobuf", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/google/protobuf.git", - "reference": "5532abc15b97f3489183b266b41844306052a3fa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/protobuf/zipball/5532abc15b97f3489183b266b41844306052a3fa", - "reference": "5532abc15b97f3489183b266b41844306052a3fa", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": ">=4.8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Protobuf\\Internal\\": "php/src/Google/Protobuf/Internal", - "GPBMetadata\\Google\\Protobuf\\Internal\\": "php/src/GPBMetadata/Google/Protobuf/Internal" - }, - "files": [ - "php/src/Google/Protobuf/descriptor.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "proto library for PHP", - "homepage": "https://developers.google.com/protocol-buffers/", - "keywords": [ - "proto" - ], - "time": "2017-06-21T22:29:32+00:00" - }, - { - "name": "grpc/grpc", - "version": "v1.4.2", - "source": { - "type": "git", - "url": "https://github.com/grpc/grpc.git", - "reference": "5cb6a1f86129fc2833de9a27cfe174260934342b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/grpc/grpc/zipball/5cb6a1f86129fc2833de9a27cfe174260934342b", - "reference": "5cb6a1f86129fc2833de9a27cfe174260934342b", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "google/auth": "v0.9" - }, - "suggest": { - "ext-protobuf": "For better performance, install the protobuf C extension.", - "google/protobuf": "To get started using grpc quickly, install the native protobuf library." - }, - "type": "library", - "autoload": { - "psr-4": { - "Grpc\\": "src/php/lib/Grpc/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "gRPC library for PHP", - "homepage": "http://grpc.io/", - "keywords": [ - "rpc" - ], - "time": "2017-07-11T21:11:30+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0 || ^5.0", - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-06-22T18:50:49+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "symfony/console", - "version": "v3.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a97e45d98c59510f085fa05225a1acb74dfe0546", - "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3", - "symfony/dependency-injection": "~3.3", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-07-03T13:19:36+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "63b85a968486d95ff9542228dc2e4247f16f9743" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/63b85a968486d95ff9542228dc2e4247f16f9743", - "reference": "63b85a968486d95ff9542228dc2e4247f16f9743", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-07-05T13:02:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.36", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-06-21T08:07:12+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "1f93a8d19b8241617f5074a123e282575b821df8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/1f93a8d19b8241617f5074a123e282575b821df8", - "reference": "1f93a8d19b8241617f5074a123e282575b821df8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-15T12:58:50+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/dlp/dlp.php b/dlp/dlp.php deleted file mode 100644 index 2098eff052..0000000000 --- a/dlp/dlp.php +++ /dev/null @@ -1,100 +0,0 @@ -add(new Command('inspect-string')) - ->addArgument('string', InputArgument::REQUIRED, 'The text to inspect') - ->setDescription('Inspect a string using the Data Loss Prevention (DLP) API.') - ->setCode(function ($input, $output) { - inspect_string( - $input->getArgument('string') - ); - }); - -$application->add(new Command('inspect-file')) - ->addArgument('path', InputArgument::REQUIRED, 'The file path to inspect') - ->setDescription('Inspect a file using the Data Loss Prevention (DLP) API.') - ->setCode(function ($input, $output) { - inspect_file( - $input->getArgument('path') - ); - }); - -$application->add(new Command('inspect-datastore')) - ->addArgument('kind', InputArgument::REQUIRED, 'The Datastore kind to inspect') - ->addArgument('namespace', InputArgument::OPTIONAL, 'The Datastore Namespace ID to inspect') - ->addArgument('project', InputArgument::OPTIONAL, 'The GCP Project ID for the Datastore call') - ->setDescription('Inspect Cloud Datastore using the Data Loss Prevention (DLP) API.') - ->setCode(function ($input, $output) { - inspect_datastore( - $input->getArgument('kind'), - $input->getArgument('namespace'), - $input->getArgument('project') - ); - }); - -$application->add(new Command('list-info-types')) - ->addArgument('category', - InputArgument::OPTIONAL, - 'The category for the info types') - ->addArgument('language-code', InputArgument::OPTIONAL, 'The text to inspect', '') - ->setDescription('Lists all Info Types for the Data Loss Prevention (DLP) API.') - ->setCode(function ($input, $output) { - list_info_types( - $input->getArgument('category'), - $input->getArgument('language-code') - ); - }); - -$application->add(new Command('list-categories')) - ->addArgument('language-code', InputArgument::OPTIONAL, 'The text to inspect', '') - ->setDescription('Lists all Info Type Categories for the Data Loss Prevention (DLP) API.') - ->setCode(function ($input, $output) { - list_categories( - $input->getArgument('language-code') - ); - }); - -$application->add(new Command('redact-string')) - ->addArgument('string', InputArgument::REQUIRED, 'The text to inspect') - ->addArgument('replace-string', - InputArgument::OPTIONAL, - 'The text to replace the sensitive content with', - 'xxx') - ->setDescription('Redact sensitive data from a string using the Data Loss Prevention (DLP) API.') - ->setCode(function ($input, $output) { - redact_string( - $input->getArgument('string'), - $input->getArgument('replace-string') - ); - }); - -// for testing -if (getenv('PHPUNIT_TESTS') === '1') { - return $application; -} - -$application->run(); diff --git a/dlp/phpunit.xml.dist b/dlp/phpunit.xml.dist deleted file mode 100644 index fa03890889..0000000000 --- a/dlp/phpunit.xml.dist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - test - - - - - - - - ./src - - - - - - diff --git a/dlp/quickstart.php b/dlp/quickstart.php deleted file mode 100644 index 88a59deea7..0000000000 --- a/dlp/quickstart.php +++ /dev/null @@ -1,82 +0,0 @@ -setName('US_MALE_NAME'); -$usFemaleNameInfoType = new InfoType(); -$usFemaleNameInfoType->setName('US_FEMALE_NAME'); -$infoTypes = [$usMaleNameInfoType, $usFemaleNameInfoType]; - -// Set the string to inspect -$stringToInspect = 'Robert Frost'; - -// Only return results above a likelihood threshold, 0 for all -$minLikelihood = likelihood::LIKELIHOOD_UNSPECIFIED; - -// Limit the number of findings, 0 for no limit -$maxFindings = 0; - -// Whether to include the matching string in the response -$includeQuote = true; - -// Create the configuration object -$inspectConfig = new InspectConfig(); -$inspectConfig->setMinLikelihood($minLikelihood); -$inspectConfig->setMaxFindings($maxFindings); -$inspectConfig->setInfoTypes($infoTypes); -$inspectConfig->setIncludeQuote($includeQuote); - -$content = new ContentItem(); -$content->setType('text/plain'); -$content->setValue($stringToInspect); - -// Run request -$response = $dlp->inspectContent($inspectConfig, [$content]); - -$likelihoods = ['Unknown', 'Very unlikely', 'Unlikely', 'Possible', - 'Likely', 'Very likely']; - -// Print the results -$findings = $response->getResults()[0]->getFindings(); -if (count($findings) == 0) { - print('No findings.' . PHP_EOL); -} else { - print('Findings:' . PHP_EOL); - foreach ($findings as $finding) { - if ($includeQuote) { - print(' Quote: ' . $finding->getQuote() . PHP_EOL); - } - print(' Info type: ' . $finding->getInfoType()->getName() . PHP_EOL); - $likelihoodString = $likelihoods[$finding->getLikelihood()]; - print(' Likelihood: ' . $likelihoodString . PHP_EOL); - } -} -# [END dlp_quickstart] diff --git a/dlp/src/inspect_datastore.php b/dlp/src/inspect_datastore.php deleted file mode 100644 index 2d55b5b56c..0000000000 --- a/dlp/src/inspect_datastore.php +++ /dev/null @@ -1,108 +0,0 @@ -setName('US_MALE_NAME'); - $usFemaleNameInfoType = new InfoType(); - $usFemaleNameInfoType->setName('US_FEMALE_NAME'); - $infoTypes = [$usMaleNameInfoType, $usFemaleNameInfoType]; - - // Create the configuration object - $inspectConfig = new InspectConfig(); - $inspectConfig->setMinLikelihood($minLikelihood); - $inspectConfig->setMaxFindings($maxFindings); - $inspectConfig->setInfoTypes($infoTypes); - - $partitionId = new PartitionId(); - $partitionId->setProjectId($projectId); - $partitionId->setNamespaceId($namespaceId); - - $kindExpression = new KindExpression(); - $kindExpression->setName($kind); - - $datastoreOptions = new DatastoreOptions(); - $datastoreOptions->setPartitionId($partitionId); - $datastoreOptions->setKind($kindExpression); - - $storageConfig = new StorageConfig(); - $storageConfig->setDatastoreOptions($datastoreOptions); - - $outputConfig = null; - - // Run request - $operation = $dlp->createInspectOperation( - $inspectConfig, - $storageConfig, - $outputConfig); - - $operation->pollUntilComplete(); - - if ($operation->operationSucceeded()) { - $result = $operation->getResult(); - $response = $dlp->listInspectFindings($result->getName()); - - $likelihoods = ['Unknown', 'Very unlikely', 'Unlikely', 'Possible', - 'Likely', 'Very likely']; - - // Print the results - $findings = $response->getResult()->getFindings(); - if (count($findings) == 0) { - print('No findings.' . PHP_EOL); - } else { - print('Findings:' . PHP_EOL); - foreach ($findings as $finding) { - printf('- Info type: %s' . PHP_EOL, - $finding->getInfoType()->getName()); - printf(' Likelihood: %s' . PHP_EOL, - $likelihoods[$finding->getLikelihood()]); - } - } - } else { - print_r($operation->getError()); - } -} -# [END inspect_datastore] diff --git a/dlp/src/inspect_file.php b/dlp/src/inspect_file.php deleted file mode 100644 index f74703a36b..0000000000 --- a/dlp/src/inspect_file.php +++ /dev/null @@ -1,84 +0,0 @@ -setName('US_MALE_NAME'); - $usFemaleNameInfoType = new InfoType(); - $usFemaleNameInfoType->setName('US_FEMALE_NAME'); - $infoTypes = [$usMaleNameInfoType, $usFemaleNameInfoType]; - - // Whether to include the matching string in the response - $includeQuote = true; - - // Create the configuration object - $inspectConfig = new InspectConfig(); - $inspectConfig->setMinLikelihood($minLikelihood); - $inspectConfig->setMaxFindings($maxFindings); - $inspectConfig->setInfoTypes($infoTypes); - $inspectConfig->setIncludeQuote($includeQuote); - - // Construct file data to inspect - $content = new ContentItem(); - $content->setType(mime_content_type($path) ?: 'application/octet-stream'); - $content->setData(file_get_contents($path)); - - // Run request - $response = $dlp->inspectContent($inspectConfig, [$content]); - - $likelihoods = ['Unknown', 'Very unlikely', 'Unlikely', 'Possible', - 'Likely', 'Very likely']; - - // Print the results - $findings = $response->getResults()[0]->getFindings(); - if (count($findings) == 0) { - print('No findings.' . PHP_EOL); - } else { - print('Findings:' . PHP_EOL); - foreach ($findings as $finding) { - if ($includeQuote) { - print(' Quote: ' . $finding->getQuote() . PHP_EOL); - } - print(' Info type: ' . $finding->getInfoType()->getName() . PHP_EOL); - $likelihoodString = $likelihoods[$finding->getLikelihood()]; - print(' Likelihood: ' . $likelihoodString . PHP_EOL); - } - } -} -# [END inspect_file] diff --git a/dlp/src/inspect_string.php b/dlp/src/inspect_string.php deleted file mode 100644 index 257dff47ae..0000000000 --- a/dlp/src/inspect_string.php +++ /dev/null @@ -1,83 +0,0 @@ -setName('US_MALE_NAME'); - $usFemaleNameInfoType = new InfoType(); - $usFemaleNameInfoType->setName('US_FEMALE_NAME'); - $infoTypes = [$usMaleNameInfoType, $usFemaleNameInfoType]; - - // Whether to include the matching string in the response - $includeQuote = true; - - // Create the configuration object - $inspectConfig = new InspectConfig(); - $inspectConfig->setMinLikelihood($minLikelihood); - $inspectConfig->setMaxFindings($maxFindings); - $inspectConfig->setInfoTypes($infoTypes); - $inspectConfig->setIncludeQuote($includeQuote); - - $content = new ContentItem(); - $content->setType('text/plain'); - $content->setValue($string); - - // Run request - $response = $dlp->inspectContent($inspectConfig, [$content]); - - $likelihoods = ['Unknown', 'Very unlikely', 'Unlikely', 'Possible', - 'Likely', 'Very likely']; - - // Print the results - $findings = $response->getResults()[0]->getFindings(); - if (count($findings) == 0) { - print('No findings.' . PHP_EOL); - } else { - print('Findings:' . PHP_EOL); - foreach ($findings as $finding) { - if ($includeQuote) { - print(' Quote: ' . $finding->getQuote() . PHP_EOL); - } - print(' Info type: ' . $finding->getInfoType()->getName() . PHP_EOL); - $likelihoodString = $likelihoods[$finding->getLikelihood()]; - print(' Likelihood: ' . $likelihoodString . PHP_EOL); - } - } -} -# [END inspect_string] diff --git a/dlp/src/list_categories.php b/dlp/src/list_categories.php deleted file mode 100644 index b5f2de57cc..0000000000 --- a/dlp/src/list_categories.php +++ /dev/null @@ -1,44 +0,0 @@ -listRootCategories($languageCode); - - // Print the results - print('Categories:' . PHP_EOL); - foreach ($response->getCategories() as $category) { - printf(' %s (%s)' . PHP_EOL, - $category->getDisplayName(), - $category->getName()); - } -} -# [END list_categories] diff --git a/dlp/src/list_info_types.php b/dlp/src/list_info_types.php deleted file mode 100644 index fe6e743ca9..0000000000 --- a/dlp/src/list_info_types.php +++ /dev/null @@ -1,45 +0,0 @@ -listInfoTypes($category, $languageCode); - - // Print the results - print('Info Types:' . PHP_EOL); - foreach ($response->getInfoTypes() as $infoType) { - printf(' %s (%s)' . PHP_EOL, - $infoType->getDisplayName(), - $infoType->getName()); - } -} -# [END list_info_types] diff --git a/dlp/src/redact_string.php b/dlp/src/redact_string.php deleted file mode 100644 index dfbcad34f1..0000000000 --- a/dlp/src/redact_string.php +++ /dev/null @@ -1,78 +0,0 @@ -setName('US_MALE_NAME'); - $usFemaleNameInfoType = new InfoType(); - $usFemaleNameInfoType->setName('US_FEMALE_NAME'); - $infoTypes = [$usMaleNameInfoType, $usFemaleNameInfoType]; - - // Whether to include the matching string in the response - $includeQuote = true; - - // Create the configuration object - $inspectConfig = new InspectConfig(); - $inspectConfig->setMinLikelihood($minLikelihood); - $inspectConfig->setMaxFindings($maxFindings); - $inspectConfig->setInfoTypes($infoTypes); - $inspectConfig->setIncludeQuote($includeQuote); - - $content = new ContentItem(); - $content->setType('text/plain'); - $content->setValue($string); - - $redactConfigs = []; - foreach ($infoTypes as $infoType) { - $redactConfig = new RedactContentRequest_ReplaceConfig(); - $redactConfig->setInfoType($infoType); - $redactConfig->setReplaceWith($replaceString); - $redactConfigs[] = $redactConfig; - } - - // Run request - $response = $dlp->redactContent($inspectConfig, [$content], $redactConfigs); - $content = $response->getItems()[0]; - - // Print the results - print('Redacted String: ' . $content->getValue() . PHP_EOL); -} -# [END redact_string] diff --git a/dlp/test/data/harmless.txt b/dlp/test/data/harmless.txt deleted file mode 100644 index 43f2224e20..0000000000 --- a/dlp/test/data/harmless.txt +++ /dev/null @@ -1 +0,0 @@ -There is no sensitive data in this file. \ No newline at end of file diff --git a/dlp/test/data/test.png b/dlp/test/data/test.png deleted file mode 100644 index 8f32c825884261083b7d731676375303d49ca6f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21438 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%0Dk_JRQOqzBh$Z^~#JvUs5?gsH6m;e=MJg zj)gWg^b(F}&Dgt!iGqlNs_qe+fDTUiQbRYOjT~%x%1TzZ-%04Qnf*=nKZ~VOG)V}u zHe!DuOLA?g{{|^>v$zF?1E(U}HGYYx@j5Agw7{sF!wQ z4wr6mIbisG7j|62703?(w~YEouD)^d+)W*nB{BWqiTY339I042YUD;=`l;ntsN2#Gj7lw8Z; z4`C`)M8l-xP*|opM*2?oDVdEM$IepnzpK{-2_hhxWgwSSv3FFMhGgC>NojG5AdHoJnLW_}GCo{oOi~*>$ z2qNgZ;jm7)RjNWDtf%XYhnNY#LWvTNjqMfl@&U5FgMg6&w}k({KmNCGb{vqo6h5RH zc13&2;tlbF!-)~xu$VC0f3F+8y`E3zqU|O5qu3i2CwW`%JsDo%DtxEV{{{5xpAT9z M)pS)Wl`TL24{iKN9{>OV diff --git a/dlp/test/data/test.txt b/dlp/test/data/test.txt deleted file mode 100644 index 324a628864..0000000000 --- a/dlp/test/data/test.txt +++ /dev/null @@ -1 +0,0 @@ -Robert Jordan wrote the Wheel of Time. \ No newline at end of file diff --git a/dlp/test/dlpTest.php b/dlp/test/dlpTest.php deleted file mode 100644 index dd538938e8..0000000000 --- a/dlp/test/dlpTest.php +++ /dev/null @@ -1,133 +0,0 @@ -markTestSkipped('Set the GOOGLE_APPLICATION_CREDENTIALS ' . - 'environment variable'); - } - } - - public function testInspectDatastore() - { - $output = $this->runCommand('inspect-datastore', [ - 'kind' => 'Book', - 'project' => getenv('GOOGLE_PROJECT_ID'), - ]); - $this->assertContains('US_MALE_NAME', $output); - $this->assertContains('Very likely', $output); - } - - public function testInspectFile() - { - // inspect a text file with results - $output = $this->runCommand('inspect-file', [ - 'path' => __DIR__ . '/data/test.txt' - ]); - $this->assertContains('US_MALE_NAME', $output); - $this->assertContains('Very likely', $output); - - // inspect an image file with results - $output = $this->runCommand('inspect-file', [ - 'path' => __DIR__ . '/data/test.png' - ]); - $this->assertContains('US_MALE_NAME', $output); - $this->assertContains('Very likely', $output); - - // inspect a file with no results - $output = $this->runCommand('inspect-file', [ - 'path' => __DIR__ . '/data/harmless.txt' - ]); - $this->assertContains('No findings', $output); - } - - public function testInspectString() - { - // inspect a string with results - $output = $this->runCommand('inspect-string', [ - 'string' => 'The name Robert is very common.' - ]); - $this->assertContains('US_MALE_NAME', $output); - $this->assertContains('Very likely', $output); - - // inspect a string with no results - $output = $this->runCommand('inspect-string', [ - 'string' => 'The name Zolo is not very common.' - ]); - $this->assertContains('No findings', $output); - } - - public function testListCategories() - { - $output = $this->runCommand('list-categories'); - $this->assertContains('Personally identifiable information', $output); - } - - public function testListInfoTypes() - { - // list all info types - $output = $this->runCommand('list-info-types'); - $this->assertContains('US_DEA_NUMBER', $output); - $this->assertContains('AMERICAN_BANKERS_CUSIP_ID', $output); - - // list info types by category - $output = $this->runCommand('list-info-types', [ - 'category' => 'PII' - ]); - - $this->assertContains('US_DEA_NUMBER', $output); - $this->assertNotContains('AMERICAN_BANKERS_CUSIP_ID', $output); - } - - public function testRedactString() - { - $output = $this->runCommand('redact-string', [ - 'string' => 'The name Robert is very common.' - ]); - $this->assertContains('The name xxx is very common', $output); - - - $output = $this->runCommand('redact-string', [ - 'string' => 'The name Zolo is not very common.' - ]); - $this->assertContains('The name Zolo is not very common', $output); - } - - private function runCommand($commandName, $args = []) - { - $application = require __DIR__ . '/../dlp.php'; - $command = $application->get($commandName); - $commandTester = new CommandTester($command); - - ob_start(); - $commandTester->execute( - $args, - ['interactive' => false]); - - return ob_get_clean(); - } -} diff --git a/dlp/test/quickstartTest.php b/dlp/test/quickstartTest.php deleted file mode 100644 index 73098570b3..0000000000 --- a/dlp/test/quickstartTest.php +++ /dev/null @@ -1,34 +0,0 @@ -markTestSkipped('Set the GOOGLE_APPLICATION_CREDENTIALS ' . - 'environment variable'); - } - } - - public function testQuickstart() - { - // Invoke quickstart.php - include __DIR__ . '/../quickstart.php'; - $this->expectOutputRegex('/US_MALE_NAME/'); - } -} From 7a8f9648cdf70f0d57bd07063812194358b46df1 Mon Sep 17 00:00:00 2001 From: Suguru Shirai Date: Sat, 9 Sep 2017 12:36:20 +0900 Subject: [PATCH 05/17] Delete pubsub sample --- pubsub/api/README.md | 38 - pubsub/api/composer.json | 32 - pubsub/api/composer.lock | 1944 ------------ pubsub/api/phpunit.xml.dist | 31 - pubsub/api/pubsub.php | 28 - pubsub/api/src/IamCommand.php | 109 - pubsub/api/src/ProjectIdTrait.php | 36 - pubsub/api/src/SubscriptionCommand.php | 109 - pubsub/api/src/TopicCommand.php | 97 - .../functions/create_push_subscription.php | 48 - .../api/src/functions/create_subscription.php | 47 - pubsub/api/src/functions/create_topic.php | 44 - .../api/src/functions/delete_subscription.php | 45 - pubsub/api/src/functions/delete_topic.php | 45 - .../src/functions/get_subscription_policy.php | 44 - pubsub/api/src/functions/get_topic_policy.php | 44 - .../api/src/functions/list_subscriptions.php | 43 - pubsub/api/src/functions/list_topics.php | 43 - pubsub/api/src/functions/publish_message.php | 45 - pubsub/api/src/functions/pubsub_client.php | 42 - pubsub/api/src/functions/pull_messages.php | 47 - .../src/functions/set_subscription_policy.php | 53 - pubsub/api/src/functions/set_topic_policy.php | 53 - .../test_subscription_permissions.php | 49 - .../src/functions/test_topic_permissions.php | 50 - pubsub/api/test/FunctionsTest.php | 37 - pubsub/api/test/IamCommandTest.php | 199 -- pubsub/api/test/SubscriptionCommandTest.php | 189 -- pubsub/api/test/TopicCommandTest.php | 154 - pubsub/app/README.md | 94 - pubsub/app/app.php | 116 - pubsub/app/app.yaml | 12 - pubsub/app/app.yaml.flexible | 2 - pubsub/app/composer.json | 16 - pubsub/app/composer.lock | 2712 ----------------- pubsub/app/index.php | 31 - pubsub/app/phpunit.xml.dist | 31 - pubsub/app/pubsub.html.twig | 32 - pubsub/app/pubsub.js | 91 - pubsub/app/sample_message.json | 5 - pubsub/app/test/DeployAppEngineFlexTest.php | 63 - pubsub/app/test/appTest.php | 95 - pubsub/app/test/bootstrap.php | 18 - pubsub/quickstart/composer.json | 9 - pubsub/quickstart/composer.lock | 1760 ----------- pubsub/quickstart/phpunit.xml.dist | 31 - pubsub/quickstart/quickstart.php | 41 - pubsub/quickstart/test/quickstartTest.php | 51 - 48 files changed, 8955 deletions(-) delete mode 100644 pubsub/api/README.md delete mode 100644 pubsub/api/composer.json delete mode 100644 pubsub/api/composer.lock delete mode 100644 pubsub/api/phpunit.xml.dist delete mode 100644 pubsub/api/pubsub.php delete mode 100644 pubsub/api/src/IamCommand.php delete mode 100644 pubsub/api/src/ProjectIdTrait.php delete mode 100644 pubsub/api/src/SubscriptionCommand.php delete mode 100644 pubsub/api/src/TopicCommand.php delete mode 100644 pubsub/api/src/functions/create_push_subscription.php delete mode 100644 pubsub/api/src/functions/create_subscription.php delete mode 100644 pubsub/api/src/functions/create_topic.php delete mode 100644 pubsub/api/src/functions/delete_subscription.php delete mode 100644 pubsub/api/src/functions/delete_topic.php delete mode 100644 pubsub/api/src/functions/get_subscription_policy.php delete mode 100644 pubsub/api/src/functions/get_topic_policy.php delete mode 100644 pubsub/api/src/functions/list_subscriptions.php delete mode 100644 pubsub/api/src/functions/list_topics.php delete mode 100644 pubsub/api/src/functions/publish_message.php delete mode 100644 pubsub/api/src/functions/pubsub_client.php delete mode 100644 pubsub/api/src/functions/pull_messages.php delete mode 100644 pubsub/api/src/functions/set_subscription_policy.php delete mode 100644 pubsub/api/src/functions/set_topic_policy.php delete mode 100644 pubsub/api/src/functions/test_subscription_permissions.php delete mode 100644 pubsub/api/src/functions/test_topic_permissions.php delete mode 100644 pubsub/api/test/FunctionsTest.php delete mode 100644 pubsub/api/test/IamCommandTest.php delete mode 100644 pubsub/api/test/SubscriptionCommandTest.php delete mode 100644 pubsub/api/test/TopicCommandTest.php delete mode 100644 pubsub/app/README.md delete mode 100644 pubsub/app/app.php delete mode 100644 pubsub/app/app.yaml delete mode 100644 pubsub/app/app.yaml.flexible delete mode 100644 pubsub/app/composer.json delete mode 100644 pubsub/app/composer.lock delete mode 100644 pubsub/app/index.php delete mode 100644 pubsub/app/phpunit.xml.dist delete mode 100644 pubsub/app/pubsub.html.twig delete mode 100644 pubsub/app/pubsub.js delete mode 100644 pubsub/app/sample_message.json delete mode 100644 pubsub/app/test/DeployAppEngineFlexTest.php delete mode 100644 pubsub/app/test/appTest.php delete mode 100644 pubsub/app/test/bootstrap.php delete mode 100644 pubsub/quickstart/composer.json delete mode 100644 pubsub/quickstart/composer.lock delete mode 100644 pubsub/quickstart/phpunit.xml.dist delete mode 100644 pubsub/quickstart/quickstart.php delete mode 100644 pubsub/quickstart/test/quickstartTest.php diff --git a/pubsub/api/README.md b/pubsub/api/README.md deleted file mode 100644 index 6a23c11558..0000000000 --- a/pubsub/api/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Google Pub\Sub CLI for PHP - -## Description - -This simple command-line application demonstrates how to invoke Google Pub\Sub from PHP. - -## Build and Run -1. **Enable APIs** - [Enable the Pub\Sub API](https://console.cloud.google.com/flows/enableapi?apiid=pubsub) - and create a new project or select an existing project. -2. **Download The Credentials** - Click "Go to credentials" after enabling the APIs. Click "New Credentials" - and select "Service Account Key". Create a new service account, use the JSON key type, and - select "Create". Once downloaded, set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` - to the path of the JSON key that was downloaded. -3. **Clone the repo** and cd into this directory - - ```sh - $ git clone https://github.com/GoogleCloudPlatform/php-docs-samples - $ cd php-docs-samples/pubsub/api -``` -4. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). -5. Run `php pubsub.php`. The following commands are available: - - ```sh - iam Manage IAM for Pub\Sub - subscription Manage subscriptions for Pub\Sub - topic Manage topics for Pub\Sub -``` -6. Run `php pubsub.php COMMAND --help` to print information about the usage of each command. - -## Contributing changes - -* See [CONTRIBUTING.md](../../CONTRIBUTING.md) - -## Licensing - -* See [LICENSE](../../LICENSE) diff --git a/pubsub/api/composer.json b/pubsub/api/composer.json deleted file mode 100644 index bb4bff3e68..0000000000 --- a/pubsub/api/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "autoload": { - "psr-4": { - "Google\\Cloud\\Samples\\PubSub\\": "src" - }, - "files": [ - "src/functions/create_subscription.php", - "src/functions/create_topic.php", - "src/functions/create_push_subscription.php", - "src/functions/delete_subscription.php", - "src/functions/delete_topic.php", - "src/functions/get_subscription_policy.php", - "src/functions/get_topic_policy.php", - "src/functions/list_subscriptions.php", - "src/functions/list_topics.php", - "src/functions/publish_message.php", - "src/functions/pull_messages.php", - "src/functions/set_subscription_policy.php", - "src/functions/set_topic_policy.php", - "src/functions/test_subscription_permissions.php", - "src/functions/test_topic_permissions.php" - ] - }, - "require": { - "php": ">=5.4", - "google/cloud-pubsub": "^0.5", - "symfony/console": " ^3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/pubsub/api/composer.lock b/pubsub/api/composer.lock deleted file mode 100644 index 011c9ec923..0000000000 --- a/pubsub/api/composer.lock +++ /dev/null @@ -1,1944 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "c18fbbf5e6916a4b0e0d2376365c28a9", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-pubsub", - "version": "v0.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-pubsub.git", - "reference": "5d647b2c3cf571fa3a400603179685a82a6cd076" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-pubsub/zipball/5d647b2c3cf571fa3a400603179685a82a6cd076", - "reference": "5d647b2c3cf571fa3a400603179685a82a6cd076", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/gax": "Required to support gRPC", - "google/proto-client-php": "Required to support gRPC" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-pubsub", - "target": "GoogleCloudPlatform/google-cloud-php-pubsub.git", - "path": "src/PubSub", - "entry": "PubSubClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\PubSub\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud PubSub Client for PHP", - "time": "2017-05-22T16:18:33+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "symfony/console", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "70d2a29b2911cbdc91a7e268046c395278238b2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/70d2a29b2911cbdc91a7e268046c395278238b2e", - "reference": "70d2a29b2911cbdc91a7e268046c395278238b2e", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3", - "symfony/dependency-injection": "~3.3", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T19:24:58+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e9c50482841ef696e8fa1470d950a79c8921f45d", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-01T21:01:25+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.4" - }, - "platform-dev": [] -} diff --git a/pubsub/api/phpunit.xml.dist b/pubsub/api/phpunit.xml.dist deleted file mode 100644 index 46b976d9b6..0000000000 --- a/pubsub/api/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - ./src - - - diff --git a/pubsub/api/pubsub.php b/pubsub/api/pubsub.php deleted file mode 100644 index 763d003745..0000000000 --- a/pubsub/api/pubsub.php +++ /dev/null @@ -1,28 +0,0 @@ -add(new SubscriptionCommand()); -$application->add(new TopicCommand()); -$application->add(new IamCommand()); -$application->run(); diff --git a/pubsub/api/src/IamCommand.php b/pubsub/api/src/IamCommand.php deleted file mode 100644 index c56f43a5a3..0000000000 --- a/pubsub/api/src/IamCommand.php +++ /dev/null @@ -1,109 +0,0 @@ -setName('iam') - ->setDescription('Manage IAM for Pub\Sub') - ->setHelp(<<%command.name% command manages Pub\Sub IAM policies. - - php %command.full_name% --topic my-topic - - php %command.full_name% --subscription my-subscription - -EOF - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ->addOption( - 'topic', - null, - InputOption::VALUE_REQUIRED, - 'The topic name. ' - ) - ->addOption( - 'subscription', - null, - InputOption::VALUE_REQUIRED, - 'The subscription name. ' - ) - ->addOption( - 'add-user', - null, - InputOption::VALUE_REQUIRED, - 'Create the IAM for the supplied user email. ' - ) - ->addOption( - 'test', - null, - InputOption::VALUE_NONE, - 'Test the IAM policy. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $topicName = $input->getOption('topic'); - $subscriptionName = $input->getOption('subscription'); - if ($topicName) { - if ($userEmail = $input->getOption('add-user')) { - set_topic_policy($projectId, $topicName, $userEmail); - } elseif ($input->getOption('test')) { - test_topic_permissions($projectId, $topicName); - } else { - get_topic_policy($projectId, $topicName); - } - } elseif ($subscriptionName) { - if ($userEmail = $input->getOption('add-user')) { - set_subscription_policy($projectId, $subscriptionName, $userEmail); - } elseif ($input->getOption('test')) { - test_subscription_permissions($projectId, $subscriptionName); - } else { - get_subscription_policy($projectId, $subscriptionName); - } - } else { - throw new \Exception('Must provide "--topic", or "--subscription"'); - } - } -} diff --git a/pubsub/api/src/ProjectIdTrait.php b/pubsub/api/src/ProjectIdTrait.php deleted file mode 100644 index fede85bc4d..0000000000 --- a/pubsub/api/src/ProjectIdTrait.php +++ /dev/null @@ -1,36 +0,0 @@ -/dev/null", $output, $return_var); - - if (0 === $return_var) { - return array_pop($output); - } - - throw new \Exception('Could not derive a project ID from gcloud. ' . - 'You must supply a project ID using --project'); - } -} diff --git a/pubsub/api/src/SubscriptionCommand.php b/pubsub/api/src/SubscriptionCommand.php deleted file mode 100644 index 808f24b7d2..0000000000 --- a/pubsub/api/src/SubscriptionCommand.php +++ /dev/null @@ -1,109 +0,0 @@ -setName('subscription') - ->setDescription('Manage subscriptions for Pub\Sub') - ->setHelp(<<%command.name% command manages Pub\Sub subscriptions. - - php %command.full_name% - -EOF - ) - ->addArgument( - 'subscription', - InputArgument::OPTIONAL, - 'The subscription name' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ->addOption( - 'create', - null, - InputOption::VALUE_NONE, - 'Create the subscription. ' - ) - ->addOption( - 'topic', - null, - InputOption::VALUE_REQUIRED, - 'The topic for the subscription (when using --create). ' - ) - ->addOption( - 'endpoint', - null, - InputOption::VALUE_REQUIRED, - 'An optional endpoint for push subscriptions.' - ) - ->addOption( - 'delete', - null, - InputOption::VALUE_NONE, - 'Delete the subscription. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $subscriptionName = $input->getArgument('subscription'); - if (empty($subscriptionName)) { - list_subscriptions($projectId); - } elseif ($input->getOption('create')) { - if (!$topicName = $input->getOption('topic')) { - throw new \Exception('--topic is required when creating a subscription'); - } - if ($endpoint = $input->getOption('endpoint')) { - create_push_subscription($projectId, $topicName, $subscriptionName, $endpoint); - } else { - create_subscription($projectId, $topicName, $subscriptionName); - } - } elseif ($input->getOption('delete')) { - delete_subscription($projectId, $subscriptionName); - } else { - pull_messages($projectId, $subscriptionName); - } - } -} diff --git a/pubsub/api/src/TopicCommand.php b/pubsub/api/src/TopicCommand.php deleted file mode 100644 index ceca3574a0..0000000000 --- a/pubsub/api/src/TopicCommand.php +++ /dev/null @@ -1,97 +0,0 @@ -setName('topic') - ->setDescription('Manage topics for Pub\Sub') - ->setHelp(<<%command.name% command manages Pub\Sub topics. - - php %command.full_name% - -EOF - ) - ->addArgument( - 'topic', - InputArgument::OPTIONAL, - 'The topic name' - ) - ->addArgument( - 'message', - InputArgument::OPTIONAL, - 'A message to publish to the topic' - ) - ->addOption( - 'project', - null, - InputOption::VALUE_REQUIRED, - 'The Google Cloud Platform project name to use for this invocation. ' . - 'If omitted then the current gcloud project is assumed. ' - ) - ->addOption( - 'create', - null, - InputOption::VALUE_NONE, - 'Create the topic. ' - ) - ->addOption( - 'delete', - null, - InputOption::VALUE_NONE, - 'Delete the topic. ' - ) - ; - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!$projectId = $input->getOption('project')) { - $projectId = $this->getProjectIdFromGcloud(); - } - $topicName = $input->getArgument('topic'); - if (empty($topicName)) { - list_topics($projectId); - } elseif ($input->getOption('create')) { - create_topic($projectId, $topicName); - } elseif ($input->getOption('delete')) { - delete_topic($projectId, $topicName); - } elseif ($message = $input->getArgument('message')) { - publish_message($projectId, $topicName, $message); - } else { - throw new \Exception('Must provide "--create", "--delete" or "message" with topic name'); - } - } -} diff --git a/pubsub/api/src/functions/create_push_subscription.php b/pubsub/api/src/functions/create_push_subscription.php deleted file mode 100644 index 3f82368241..0000000000 --- a/pubsub/api/src/functions/create_push_subscription.php +++ /dev/null @@ -1,48 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $subscription = $topic->subscription($subscriptionName); - $subscription->create([ - 'endpoint' => $endpoint - ]); -} -# [END create_push_subscription] diff --git a/pubsub/api/src/functions/create_subscription.php b/pubsub/api/src/functions/create_subscription.php deleted file mode 100644 index 74dc311f72..0000000000 --- a/pubsub/api/src/functions/create_subscription.php +++ /dev/null @@ -1,47 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $subscription = $topic->subscription($subscriptionName); - $subscription->create(); - - printf('Subscription created: %s' . PHP_EOL, $subscription->name()); -} -# [END create_subscription] diff --git a/pubsub/api/src/functions/create_topic.php b/pubsub/api/src/functions/create_topic.php deleted file mode 100644 index 250731ba8c..0000000000 --- a/pubsub/api/src/functions/create_topic.php +++ /dev/null @@ -1,44 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->createTopic($topicName); - - printf('Topic created: %s' . PHP_EOL, $topic->name()); -} -# [END create_topic] diff --git a/pubsub/api/src/functions/delete_subscription.php b/pubsub/api/src/functions/delete_subscription.php deleted file mode 100644 index a7ad61492b..0000000000 --- a/pubsub/api/src/functions/delete_subscription.php +++ /dev/null @@ -1,45 +0,0 @@ - $projectId, - ]); - $subscription = $pubsub->subscription($subscriptionName); - $subscription->delete(); - - printf('Subscription deleted: %s' . PHP_EOL, $subscription->name()); -} -# [END delete_subscription] diff --git a/pubsub/api/src/functions/delete_topic.php b/pubsub/api/src/functions/delete_topic.php deleted file mode 100644 index 44a6eec9b8..0000000000 --- a/pubsub/api/src/functions/delete_topic.php +++ /dev/null @@ -1,45 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $topic->delete(); - - printf('Topic deleted: %s' . PHP_EOL, $topic->name()); -} -# [END delete_topic] diff --git a/pubsub/api/src/functions/get_subscription_policy.php b/pubsub/api/src/functions/get_subscription_policy.php deleted file mode 100644 index a0854be983..0000000000 --- a/pubsub/api/src/functions/get_subscription_policy.php +++ /dev/null @@ -1,44 +0,0 @@ - $projectId, - ]); - $subscription = $pubsub->subscription($subscriptionName); - $policy = $subscription->iam()->policy(); - print_r($policy); -} -# [END get_subscription_policy] diff --git a/pubsub/api/src/functions/get_topic_policy.php b/pubsub/api/src/functions/get_topic_policy.php deleted file mode 100644 index cac6754c54..0000000000 --- a/pubsub/api/src/functions/get_topic_policy.php +++ /dev/null @@ -1,44 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $policy = $topic->iam()->policy(); - print_r($policy); -} -# [END get_topic_policy] diff --git a/pubsub/api/src/functions/list_subscriptions.php b/pubsub/api/src/functions/list_subscriptions.php deleted file mode 100644 index 726072d2e8..0000000000 --- a/pubsub/api/src/functions/list_subscriptions.php +++ /dev/null @@ -1,43 +0,0 @@ - $projectId, - ]); - foreach ($pubsub->subscriptions() as $subscription) { - printf('Subscription: %s' . PHP_EOL, $subscription->name()); - } -} -# [END list_subscriptions] diff --git a/pubsub/api/src/functions/list_topics.php b/pubsub/api/src/functions/list_topics.php deleted file mode 100644 index 268408b45f..0000000000 --- a/pubsub/api/src/functions/list_topics.php +++ /dev/null @@ -1,43 +0,0 @@ - $projectId, - ]); - foreach ($pubsub->topics() as $topic) { - printf('Topic: %s' . PHP_EOL, $topic->name()); - } -} -# [END list_topics] diff --git a/pubsub/api/src/functions/publish_message.php b/pubsub/api/src/functions/publish_message.php deleted file mode 100644 index 6454f2700e..0000000000 --- a/pubsub/api/src/functions/publish_message.php +++ /dev/null @@ -1,45 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $topic->publish(['data' => $message]); - print('Message published' . PHP_EOL); -} -# [END publish_message] diff --git a/pubsub/api/src/functions/pubsub_client.php b/pubsub/api/src/functions/pubsub_client.php deleted file mode 100644 index 9e8718cfe0..0000000000 --- a/pubsub/api/src/functions/pubsub_client.php +++ /dev/null @@ -1,42 +0,0 @@ - $projectId, -]); -# [END build_service] -return $pubsub; diff --git a/pubsub/api/src/functions/pull_messages.php b/pubsub/api/src/functions/pull_messages.php deleted file mode 100644 index 5a85032819..0000000000 --- a/pubsub/api/src/functions/pull_messages.php +++ /dev/null @@ -1,47 +0,0 @@ - $projectId, - ]); - $subscription = $pubsub->subscription($subscriptionName); - foreach ($subscription->pull() as $message) { - printf('Message: %s' . PHP_EOL, $message->data()); - // Acknowledge the Pub/Sub message has been received, so it will not be pulled multiple times. - $subscription->acknowledge($message); - } -} -# [END pull_message] diff --git a/pubsub/api/src/functions/set_subscription_policy.php b/pubsub/api/src/functions/set_subscription_policy.php deleted file mode 100644 index 1a504c5c73..0000000000 --- a/pubsub/api/src/functions/set_subscription_policy.php +++ /dev/null @@ -1,53 +0,0 @@ - $projectId, - ]); - $subscription = $pubsub->subscription($subscriptionName); - $policy = $subscription->iam()->policy(); - $policy['bindings'][] = [ - 'role' => 'roles/pubsub.subscriber', - 'members' => ['user:' . $userEmail] - ]; - $subscription->iam()->setPolicy($policy); - - printf('User %s added to policy for %s' . PHP_EOL, - $userEmail, - $subscriptionName); -} -# [END set_subscription_policy] diff --git a/pubsub/api/src/functions/set_topic_policy.php b/pubsub/api/src/functions/set_topic_policy.php deleted file mode 100644 index e429118420..0000000000 --- a/pubsub/api/src/functions/set_topic_policy.php +++ /dev/null @@ -1,53 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $policy = $topic->iam()->policy(); - $policy['bindings'][] = [ - 'role' => 'roles/pubsub.publisher', - 'members' => ['user:' . $userEmail] - ]; - $topic->iam()->setPolicy($policy); - - printf('User %s added to policy for %s' . PHP_EOL, - $userEmail, - $topicName); -} -# [END set_topic_policy] diff --git a/pubsub/api/src/functions/test_subscription_permissions.php b/pubsub/api/src/functions/test_subscription_permissions.php deleted file mode 100644 index 3a704dda24..0000000000 --- a/pubsub/api/src/functions/test_subscription_permissions.php +++ /dev/null @@ -1,49 +0,0 @@ - $projectId, - ]); - $subscription = $pubsub->subscription($subscriptionName); - $permissions = $subscription->iam()->testPermissions([ - 'pubsub.subscriptions.consume', - 'pubsub.subscriptions.update' - ]); - foreach ($permissions as $permission) { - printf('Permission: %s' . PHP_EOL, $permission); - } -} -# [END test_subscription_permissions] diff --git a/pubsub/api/src/functions/test_topic_permissions.php b/pubsub/api/src/functions/test_topic_permissions.php deleted file mode 100644 index ffb57b8743..0000000000 --- a/pubsub/api/src/functions/test_topic_permissions.php +++ /dev/null @@ -1,50 +0,0 @@ - $projectId, - ]); - $topic = $pubsub->topic($topicName); - $permissions = $topic->iam()->testPermissions([ - 'pubsub.topics.attachSubscription', - 'pubsub.topics.publish', - 'pubsub.topics.update' - ]); - foreach ($permissions as $permission) { - printf('Permission: %s' . PHP_EOL, $permission); - } -} -# [END test_topic_permissions] diff --git a/pubsub/api/test/FunctionsTest.php b/pubsub/api/test/FunctionsTest.php deleted file mode 100644 index 7209752e0c..0000000000 --- a/pubsub/api/test/FunctionsTest.php +++ /dev/null @@ -1,37 +0,0 @@ -markTestSkipped('No project ID'); - } - - $pubsub = require __DIR__ . '/../src/functions/pubsub_client.php'; - - $this->assertInstanceOf(PubSubClient::class, $pubsub); - } -} diff --git a/pubsub/api/test/IamCommandTest.php b/pubsub/api/test/IamCommandTest.php deleted file mode 100644 index 0cc1c96477..0000000000 --- a/pubsub/api/test/IamCommandTest.php +++ /dev/null @@ -1,199 +0,0 @@ - 0; - } - - public function testSubscriptionPolicy() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$subscription = getenv('GOOGLE_PUBSUB_SUBSCRIPTION')) { - $this->markTestSkipped('No pubsub subscription name'); - } - - $application = new Application(); - $application->add(new IamCommand()); - $commandTester = new CommandTester($application->get('iam')); - $commandTester->execute( - [ - '--subscription' => $subscription, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex(sprintf('/etag/', $subscription)); - } - - public function testTopicPolicy() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - - $application = new Application(); - $application->add(new IamCommand()); - $commandTester = new CommandTester($application->get('iam')); - $commandTester->execute( - [ - '--topic' => $topic, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex(sprintf('/etag/', $topic)); - } - - public function testCreateSubscriptionPolicy() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$subscription = getenv('GOOGLE_PUBSUB_SUBSCRIPTION')) { - $this->markTestSkipped('No pubsub subscription name'); - } - $userEmail = 'betterbrent@google.com'; - - $application = new Application(); - $application->add(new IamCommand()); - $commandTester = new CommandTester($application->get('iam')); - $commandTester->execute( - [ - '--subscription' => $subscription, - '--add-user' => $userEmail, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex(sprintf('/User %s added to policy for %s/', $userEmail, $subscription)); - } - - public function testCreateTopicPolicy() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - $userEmail = 'betterbrent@google.com'; - - $application = new Application(); - $application->add(new IamCommand()); - $commandTester = new CommandTester($application->get('iam')); - $commandTester->execute( - [ - '--topic' => $topic, - '--add-user' => $userEmail, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex(sprintf('/User %s added to policy for %s/', $userEmail, $topic)); - } - - public function testTestSubscriptionPolicy() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$subscription = getenv('GOOGLE_PUBSUB_SUBSCRIPTION')) { - $this->markTestSkipped('No pubsub subscription name'); - } - - $application = new Application(); - $application->add(new IamCommand()); - $commandTester = new CommandTester($application->get('iam')); - $commandTester->execute( - [ - '--subscription' => $subscription, - '--test' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Permission: pubsub.subscriptions.consume/'); - } - - public function testTestTopicPolicy() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - - $application = new Application(); - $application->add(new IamCommand()); - $commandTester = new CommandTester($application->get('iam')); - $commandTester->execute( - [ - '--topic' => $topic, - '--test' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Permission: pubsub.topics.attachSubscription/'); - } -} diff --git a/pubsub/api/test/SubscriptionCommandTest.php b/pubsub/api/test/SubscriptionCommandTest.php deleted file mode 100644 index 4c1ddf3e47..0000000000 --- a/pubsub/api/test/SubscriptionCommandTest.php +++ /dev/null @@ -1,189 +0,0 @@ - 0; - } - - public function testListSubscriptions() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$subscription = getenv('GOOGLE_PUBSUB_SUBSCRIPTION')) { - $this->markTestSkipped('No pubsub subscription name'); - } - - $application = new Application(); - $application->add(new SubscriptionCommand()); - $commandTester = new CommandTester($application->get('subscription')); - $commandTester->execute( - [ - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex(sprintf('/%s/', $subscription)); - } - - public function testCreateAndDeleteSubscription() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - $subscription = 'test-subscription-' . rand(); - $application = new Application(); - $application->add(new SubscriptionCommand()); - $commandTester = new CommandTester($application->get('subscription')); - $commandTester->execute( - [ - 'subscription' => $subscription, - '--topic' => $topic, - '--create' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Subscription created:/'); - $this->expectOutputRegex(sprintf('/%s/', $subscription)); - - $commandTester->execute( - [ - 'subscription' => $subscription, - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Subscription deleted:/'); - $this->expectOutputRegex(sprintf('/%s/', $subscription)); - } - - public function testCreateAndDeletePushSubscription() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - $subscription = 'test-subscription-' . rand(); - $application = new Application(); - $application->add(new SubscriptionCommand()); - $commandTester = new CommandTester($application->get('subscription')); - $commandTester->execute( - [ - 'subscription' => $subscription, - '--topic' => $topic, - '--endpoint' => 'https://example.com/receive_message', - '--create' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Subscription created:/'); - $this->expectOutputRegex(sprintf('/%s/', $subscription)); - - $commandTester->execute( - [ - 'subscription' => $subscription, - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Subscription deleted:/'); - $this->expectOutputRegex(sprintf('/%s/', $subscription)); - } - - public function testPullMessages() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - if (!$subscription = getenv('GOOGLE_PUBSUB_SUBSCRIPTION')) { - $this->markTestSkipped('No pubsub subscription name'); - } - - $application = new Application(); - $application->add(new TopicCommand()); - $application->add(new SubscriptionCommand()); - $commandTester = new CommandTester($application->get('topic')); - $commandTester->execute( - [ - 'topic' => $topic, - 'message' => 'This is a test message', - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Message published/'); - - $application->add(new SubscriptionCommand()); - $commandTester = new CommandTester($application->get('subscription')); - $commandTester->execute( - [ - 'subscription' => $subscription, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/This is a test message/'); - } -} diff --git a/pubsub/api/test/TopicCommandTest.php b/pubsub/api/test/TopicCommandTest.php deleted file mode 100644 index 11a24af5a7..0000000000 --- a/pubsub/api/test/TopicCommandTest.php +++ /dev/null @@ -1,154 +0,0 @@ - 0; - } - - public function testListTopics() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - - $application = new Application(); - $application->add(new TopicCommand()); - $commandTester = new CommandTester($application->get('topic')); - $commandTester->execute( - [ - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex(sprintf('/%s/', $topic)); - } - - /** - * @expectedException Exception - * @expectedExceptionMessage Must provide "--create", "--delete" or "message" with topic name - */ - public function testGetTopicThrowsException() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - - $application = new Application(); - $application->add(new TopicCommand()); - $commandTester = new CommandTester($application->get('topic')); - $commandTester->execute( - [ - 'topic' => $topic, - '--project' => $projectId, - ], - ['interactive' => false] - ); - } - - public function testCreateAndDeleteTopic() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - $topic = 'test-topic-' . rand(); - $application = new Application(); - $application->add(new TopicCommand()); - $commandTester = new CommandTester($application->get('topic')); - $commandTester->execute( - [ - 'topic' => $topic, - '--create' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Topic created:/'); - $this->expectOutputRegex(sprintf('/%s/', $topic)); - - $commandTester->execute( - [ - 'topic' => $topic, - '--delete' => true, - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Topic deleted:/'); - $this->expectOutputRegex(sprintf('/%s/', $topic)); - } - - public function testTopicMessage() - { - if (!self::$hasCredentials) { - $this->markTestSkipped('No application credentials were found.'); - } - if (!$projectId = getenv('GOOGLE_PROJECT_ID')) { - $this->markTestSkipped('No project ID'); - } - if (!$topic = getenv('GOOGLE_PUBSUB_TOPIC')) { - $this->markTestSkipped('No pubsub topic name'); - } - - $application = new Application(); - $application->add(new TopicCommand()); - $commandTester = new CommandTester($application->get('topic')); - $commandTester->execute( - [ - 'topic' => $topic, - 'message' => 'This is a test message', - '--project' => $projectId, - ], - ['interactive' => false] - ); - - $this->expectOutputRegex('/Message published/'); - } -} diff --git a/pubsub/app/README.md b/pubsub/app/README.md deleted file mode 100644 index 024a62ac20..0000000000 --- a/pubsub/app/README.md +++ /dev/null @@ -1,94 +0,0 @@ -# Google PubSub PHP Sample Application - -## Description - -Note: The push endpoints don't work with the App Engine's local -devserver. The push notifications will go to an HTTP URL on the App -Engine server even when you run this sample locally. So we recommend -you deploy and run the app on App Engine. - -## Register your application - -- Go to - [Google Developers Console](https://console.developers.google.com/project) - and create a new project. This will automatically enable an App - Engine application with the same ID as the project. - -- Enable the "Google Cloud Pub/Sub" API under "APIs & auth > APIs." - -## Prerequisites - -- Install [`composer`](https://getcomposer.org) -- Install the App Engine Python SDK. - We recommend you install - [Cloud SDK](https://developers.google.com/cloud/sdk/) rather than - just installing App Engine SDK. -- Create the topic "php-example-topic" and create a subscription to that topic - with the name "php-example-subscription". - - Use the [pubsub CLI](../cli) or the - [Developer Console](https://console.developer.google.com) - - To use Push Subscriptions, register your subscription with the - endpoint `https://{YOUR_PROJECT_NAME}.appspot.com/receive_message` -- Install dependencies by running: - -``` -$ composer install -``` - -## Local Development - -- Go to "Credentials" and create a new Service Account. -- Select "Generate new JSON key", then download a new JSON file. -- Set the following environment variable: - - `GOOGLE_APPLICATION_CREDENTIALS`: the file path to the downloaded JSON file. - - `GOOGLE_PROJECT_ID`: your project ID. - -Run the PHP build-in web server with the following command: - -``` -$ php -S localhost:8080 -``` - -Now browse to [localhost:8080](http://localhost:8080) in your browser. - -## Deploy to App Engine Standard - -- Change `YOUR_PROJECT_ID` in `app.yaml` to your project ID. - -Run the following gcloud command to deploy your app: - -``` -$ gcloud app deploy -``` - -Then access the following URL: - https://{YOUR_PROJECT_NAME}.appspot.com/ - -## Deploy to App Engine Flexible - -- Change `YOUR_PROJECT_ID` in `app.yaml.flexible` to your project ID. - -Run the following gcloud command to deploy your app: - -``` -$ gcloud app deploy app.yaml.flexible -``` - -Then access the following URL: - https://{YOUR_PROJECT_NAME}.appspot.com/ - -## Run using Dev Appserver - -``` -$ dev_appserver.py -A your-project-name . -``` - -## Contributing changes - -* See [CONTRIBUTING.md](../../CONTRIBUTING.md) - -## Licensing - -* See [LICENSE](../../LICENSE) - - diff --git a/pubsub/app/app.php b/pubsub/app/app.php deleted file mode 100644 index 86b378d20d..0000000000 --- a/pubsub/app/app.php +++ /dev/null @@ -1,116 +0,0 @@ -register(new TwigServiceProvider()); -$app['twig.path'] = [ __DIR__ ]; - -$app->get('/', function () use ($app) { - return $app['twig']->render('pubsub.html.twig', [ - 'project_id' => $app['project_id'], - ]); -}); - -$app->get('/fetch_messages', function () use ($app) { - // get PUSH pubsub messages - $projectId = $app['project_id']; - $subscriptionName = $app['subscription']; - $datastore = $app['datastore']; - $query = $datastore->query()->kind('PubSubPushMessage'); - $messages = []; - $pushKeys = []; - foreach ($datastore->runQuery($query) as $pushMessage) { - $pushKeys[] = $pushMessage->key(); - $messages[] = $pushMessage['message']; - } - // delete PUSH messages - if ($pushKeys) { - $datastore->deleteBatch($pushKeys); - } - # [START pull] - // get PULL pubsub messages - $pubsub = new PubSubClient([ - 'projectId' => $projectId, - ]); - $subscription = $pubsub->subscription($subscriptionName); - $pullMessages = []; - foreach ($subscription->pull(['returnImmediately' => true]) as $pullMessage) { - $pullMessages[] = $pullMessage; - $messages[] = $pullMessage->data(); - } - // acknowledge PULL messages - if ($pullMessages) { - $subscription->acknowledgeBatch($pullMessages); - } - # [END pull] - return new JsonResponse($messages); -}); - -$app->post('/receive_message', function () use ($app) { - # [START receive] - // pull the message from the post body - $json = $app['request']->getContent(); - $request = json_decode($json, true); - if ( - !isset($request['message']['data']) - || !$message = base64_decode($request['message']['data']) - ) { - return new Response('', 400); - } - # [END receive] - // store the push message in datastore - $datastore = $app['datastore']; - $message = $datastore->entity('PubSubPushMessage', [ - 'message' => $message - ]); - $datastore->insert($message); - return new Response(); -}); - -$app->post('/send_message', function () use ($app) { - $projectId = $app['project_id']; - $topicName = $app['topic']; - # [START send] - if ($message = $app['request']->get('message')) { - // Publish the pubsub message to the topic - $pubsub = new PubSubClient([ - 'projectId' => $projectId, - ]); - $topic = $pubsub->topic($topicName); - $response = $topic->publish(['data' => $message]); - return new Response('', 204); - } - # [END send] - return new Response('', 400); -}); - -$app['datastore'] = function () use ($app) { - return new DatastoreClient([ - 'projectId' => $app['project_id'], - ]); -}; - -return $app; diff --git a/pubsub/app/app.yaml b/pubsub/app/app.yaml deleted file mode 100644 index 7a004b4920..0000000000 --- a/pubsub/app/app.yaml +++ /dev/null @@ -1,12 +0,0 @@ -runtime: php55 -api_version: 1 -threadsafe: true - -handlers: -- url: pubsub.js - static_file: pubsub.js -- url: /.* - script: index.php - -env_variables: - GOOGLE_PROJECT_ID: "YOUR_PROJECT_ID" diff --git a/pubsub/app/app.yaml.flexible b/pubsub/app/app.yaml.flexible deleted file mode 100644 index 9c3ea597a8..0000000000 --- a/pubsub/app/app.yaml.flexible +++ /dev/null @@ -1,2 +0,0 @@ -runtime: php -env: flex diff --git a/pubsub/app/composer.json b/pubsub/app/composer.json deleted file mode 100644 index d821f56a8f..0000000000 --- a/pubsub/app/composer.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "require": { - "php": ">=5.4", - "google/cloud-pubsub": "^0.5", - "google/cloud-datastore": "^1.0", - "silex/silex": "~1.3", - "symfony/twig-bridge": "~2.7|3.0.*", - "twig/twig": "~1.8|~2.0" - }, - "require-dev": { - "google/cloud-tools": "^0.6", - "paragonie/random_compat": "^2.0", - "symfony/browser-kit": "~2.7", - "phpunit/phpunit": " ~4.1" - } -} diff --git a/pubsub/app/composer.lock b/pubsub/app/composer.lock deleted file mode 100644 index 54c6c69ca7..0000000000 --- a/pubsub/app/composer.lock +++ /dev/null @@ -1,2712 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "fa7dc11d8118d544832721e887e21059", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-datastore", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-datastore.git", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-datastore/zipball/f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "reference": "f9e11c4582b5f0abca9397864ed0b0b48432c61f", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-datastore", - "target": "GoogleCloudPlatform/google-cloud-php-datastore.git", - "path": "src/Datastore", - "entry": "DatastoreClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Datastore\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Datastore Client for PHP", - "time": "2017-03-31T16:47:15+00:00" - }, - { - "name": "google/cloud-pubsub", - "version": "v0.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-pubsub.git", - "reference": "5d647b2c3cf571fa3a400603179685a82a6cd076" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-pubsub/zipball/5d647b2c3cf571fa3a400603179685a82a6cd076", - "reference": "5d647b2c3cf571fa3a400603179685a82a6cd076", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/gax": "Required to support gRPC", - "google/proto-client-php": "Required to support gRPC" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-pubsub", - "target": "GoogleCloudPlatform/google-cloud-php-pubsub.git", - "path": "src/PubSub", - "entry": "PubSubClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\PubSub\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud PubSub Client for PHP", - "time": "2017-05-22T16:18:33+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "pimple/pimple", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org/", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2013-11-22T08:30:29+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - }, - { - "name": "silex/silex", - "version": "v1.3.6", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Silex.git", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "reference": "ff8aa6bc2e066e14b07e0c63e9bd9dd1458af136", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "pimple/pimple": "~1.0", - "symfony/event-dispatcher": "~2.3|3.0.*", - "symfony/http-foundation": "~2.3|3.0.*", - "symfony/http-kernel": "~2.3|3.0.*", - "symfony/routing": "~2.3|3.0.*" - }, - "require-dev": { - "doctrine/dbal": "~2.2", - "monolog/monolog": "^1.4.1", - "swiftmailer/swiftmailer": "~5", - "symfony/browser-kit": "~2.3|3.0.*", - "symfony/config": "~2.3|3.0.*", - "symfony/css-selector": "~2.3|3.0.*", - "symfony/debug": "~2.3|3.0.*", - "symfony/dom-crawler": "~2.3|3.0.*", - "symfony/finder": "~2.3|3.0.*", - "symfony/form": "~2.3|3.0.*", - "symfony/intl": "~2.3|3.0.*", - "symfony/monolog-bridge": "~2.3|3.0.*", - "symfony/options-resolver": "~2.3|3.0.*", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.3|3.0.*", - "symfony/security": "~2.3|3.0.*", - "symfony/serializer": "~2.3|3.0.*", - "symfony/translation": "~2.3|3.0.*", - "symfony/twig-bridge": "~2.3|3.0.*", - "symfony/validator": "~2.3|3.0.*", - "twig/twig": "~1.28|~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Silex\\": "src/Silex" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - } - ], - "description": "The PHP micro-framework based on the Symfony Components", - "homepage": "http://silex.sensiolabs.org/", - "keywords": [ - "microframework" - ], - "time": "2017-04-30T16:26:54+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/e9c50482841ef696e8fa1470d950a79c8921f45d", - "reference": "e9c50482841ef696e8fa1470d950a79c8921f45d", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-01T21:01:25+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "reference": "54da3ff63dec3c9c0e32ec3f95a7d94ef64baa00", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-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": "2016-07-19T10:44:15+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49ba00f8ede742169cb6b70abe33243f4d673f82", - "reference": "49ba00f8ede742169cb6b70abe33243f4d673f82", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "symfony/expression-language": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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 HttpFoundation Component", - "homepage": "https://symfony.com/", - "time": "2016-07-17T13:54:30+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "reference": "d97ba4425e36e79c794e7d14ff36f00f081b37b3", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "symfony/browser-kit": "~2.8|~3.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~2.8|~3.0", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8|~3.0" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 HttpKernel Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T09:10:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - }, - { - "name": "symfony/routing", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b", - "reference": "9038984bd9c05ab07280121e9e10f61a7231457b", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "symfony/config": "<2.8" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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 Routing Component", - "homepage": "https://symfony.com/", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2016-06-29T05:40:00+00:00" - }, - { - "name": "symfony/twig-bridge", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "reference": "34ddcc46f09f6564f03cb61134ee51f3b309aa58", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "twig/twig": "~1.23|~2.0" - }, - "require-dev": { - "symfony/asset": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/form": "~3.0.4", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/routing": "~2.8|~3.0", - "symfony/security": "~2.8|~3.0", - "symfony/security-acl": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~2.8.9|~3.0.9|~3.1.3|~3.2", - "symfony/yaml": "~2.8|~3.0" - }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security": "For using the SecurityExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/templating": "For using the TwigEngine", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/yaml": "For using the YamlExtension" - }, - "type": "symfony-bridge", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Twig\\": "" - }, - "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 Twig Bridge", - "homepage": "https://symfony.com/", - "time": "2016-07-28T11:13:34+00:00" - }, - { - "name": "twig/twig", - "version": "v1.34.3", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "451c6f4197e113e24c1c85bc3fc8c2d77adeff2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/451c6f4197e113e24c1c85bc3fc8c2d77adeff2e", - "reference": "451c6f4197e113e24c1c85bc3fc8c2d77adeff2e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.34-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - }, - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org/", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org/", - "keywords": [ - "templating" - ], - "time": "2017-06-07T18:45:17+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "google/cloud-tools", - "version": "v0.6.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/php-tools.git", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/php-tools/zipball/90ecc5e371673078cf0fc71d442fd21415c277c3", - "reference": "90ecc5e371673078cf0fc71d442fd21415c277c3", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~5.3|~6.0", - "php": ">=5.5", - "phpunit/phpunit": "~4|~5", - "symfony/browser-kit": "~2|~3", - "symfony/process": "~2|~3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Cloud\\TestUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Takashi Matsuo", - "email": "tmatsuo@google.com", - "homepage": "https://wp.gaeflex.ninja/" - } - ], - "description": "PHP tools for Google Cloud Platform", - "homepage": "https://github.com/GoogleCloudPlatform/php-tools", - "keywords": [ - "appengine", - "gcp", - "test" - ], - "time": "2017-02-23T22:19:51+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v2.0.10", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com/" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "pseudorandom", - "random" - ], - "time": "2017-03-13T16:27:32+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/browser-kit", - "version": "v2.8.22", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "4386755566fc8d29bddf89694663b0e96cb01e61" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/4386755566fc8d29bddf89694663b0e96cb01e61", - "reference": "4386755566fc8d29bddf89694663b0e96cb01e61", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/dom-crawler": "~2.1|~3.0.0" - }, - "require-dev": { - "symfony/css-selector": "^2.0.5|~3.0.0", - "symfony/process": "~2.3.34|^2.7.6|~3.0.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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 BrowserKit Component", - "homepage": "https://symfony.com/", - "time": "2017-04-12T14:07:15+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dff8fecf1f56990d88058e3a1885c2a5f1b8e970", - "reference": "dff8fecf1f56990d88058e3a1885c2a5f1b8e970", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~2.8|~3.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "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 DomCrawler Component", - "homepage": "https://symfony.com/", - "time": "2016-07-30T07:22:48+00:00" - }, - { - "name": "symfony/process", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-05-22T12:32:03+00:00" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.4" - }, - "platform-dev": [] -} diff --git a/pubsub/app/index.php b/pubsub/app/index.php deleted file mode 100644 index 28e39d2371..0000000000 --- a/pubsub/app/index.php +++ /dev/null @@ -1,31 +0,0 @@ -run(); diff --git a/pubsub/app/phpunit.xml.dist b/pubsub/app/phpunit.xml.dist deleted file mode 100644 index 7123ce295a..0000000000 --- a/pubsub/app/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - app.php - - - diff --git a/pubsub/app/pubsub.html.twig b/pubsub/app/pubsub.html.twig deleted file mode 100644 index 4a546f8510..0000000000 --- a/pubsub/app/pubsub.html.twig +++ /dev/null @@ -1,32 +0,0 @@ - - - - - Hello Cloud Pub/Sub - - - -

Hello Cloud Pub/Sub!

- - Project: {{ project_id }}
- -
- -
- - - - {{ "{{ PubsubController.errorNotice }}" }} - -

Messages:

-
    -
  • {{ "{{ m }}" }}
  • -
- - - - diff --git a/pubsub/app/pubsub.js b/pubsub/app/pubsub.js deleted file mode 100644 index 78eb7cd0d5..0000000000 --- a/pubsub/app/pubsub.js +++ /dev/null @@ -1,91 +0,0 @@ - -'use strict'; - -var pubsub = pubsub || angular.module('pubsub', []); - -/** - * PubsubController. - * - * @NgInject - */ -pubsub.PubsubController = function($http, $log, $timeout) { - this.promise = null; - this.logger = $log; - this.http = $http; - this.isAutoUpdating = true; - this.failCount = 0; - this.hasAttemptedToCreateTopicAndSubscription = false; - this.messages = []; - this.fetchMessages(); -}; - -pubsub.PubsubController.MAX_FAILURE_COUNT = 3; - -pubsub.PubsubController.TIMEOUT_MULTIPLIER = 1000; - -/** - * Toggles the auto update flag. - */ -pubsub.PubsubController.prototype.toggleAutoUpdate = function() { - this.isAutoUpdating = !this.isAutoUpdating; - if (this.isAutoUpdating) { - this.logger.info('Start fetching.'); - this.fetchMessages(); - } -}; - -/** - * Sends a message - * - * @param {string} message - */ -pubsub.PubsubController.prototype.sendMessage = function(message) { - var self = this; - self.http({ - method: 'POST', - url: '/send_message', - data: 'message=' + encodeURIComponent(message), - headers: {'Content-Type': 'application/x-www-form-urlencoded'} - }).success(function(data, status) { - self.message = null; - }).error(function(data, status) { - self.logger.error('Failed to send the message. Status: ' + status + '.'); - if (!self.hasAttemptedToCreateTopicAndSubscription) { - // Try to create the topic and subscription once. - self.hasAttemptedToCreateTopicAndSubscription = true; - self.logger.info('Trying to create the topic and subscription...'); - self.http({ - method: 'POST', - url: '/create_topic_and_subscription' - }).success(function(data, status) { - // Try one more time to send the message. - self.sendMessage(message); - }).error(function(data, status) { - self.logger.error('Failed to create the topic and subscription. ' + - 'Status: ' + status + '.'); - }); - } - }); -}; - -/** - * Continuously fetches messages from the server. - */ -pubsub.PubsubController.prototype.fetchMessages = function() { - if (!this.isAutoUpdating) { - return; - } - var self = this; - self.http.get('/fetch_messages') - .success(function(data, status) { - self.messages.push.apply(self.messages, data); - self.failCount = 0; - self.fetchMessages(); - }) - .error(function(data, status) { - self.logger.error('Failed to receive the messages. Status: ' + - status + '.'); - self.failCount += 1; - self.fetchMessages(); - }); -}; diff --git a/pubsub/app/sample_message.json b/pubsub/app/sample_message.json deleted file mode 100644 index 8fe62d23fb..0000000000 --- a/pubsub/app/sample_message.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "message": { - "data": "SGVsbG8sIFdvcmxkIQ==" - } -} diff --git a/pubsub/app/test/DeployAppEngineFlexTest.php b/pubsub/app/test/DeployAppEngineFlexTest.php deleted file mode 100644 index ae6121c567..0000000000 --- a/pubsub/app/test/DeployAppEngineFlexTest.php +++ /dev/null @@ -1,63 +0,0 @@ -setDir($tmpDir); - chdir($tmpDir); - } - - public function testIndex() - { - // Access the modules app top page. - $resp = $this->client->get('/'); - $this->assertEquals('200', $resp->getStatusCode(), - 'top page status code'); - } - - public function testSendMessage() - { - $resp = $this->client->request('POST', '/send_message', [ - 'form_params' => [ - 'message' => 'Good day!' - ] - ]); - - $this->assertEquals('204', $resp->getStatusCode(), - '/send_message status code'); - } - - public function testReceiveMessage() - { - $resp = $this->client->request('POST', '/receive_message', [ - 'body' => json_encode(['message' => ['data' => 'Bye.']]), - ] - ); - $this->assertEquals('200', $resp->getStatusCode(), - '/receive_message status code'); - } -} diff --git a/pubsub/app/test/appTest.php b/pubsub/app/test/appTest.php deleted file mode 100644 index f20cac1dde..0000000000 --- a/pubsub/app/test/appTest.php +++ /dev/null @@ -1,95 +0,0 @@ -markTestSkipped('credentials not found'); - } - if (empty($app['topic']) || empty($app['subscription'])) { - $this->markTestSkipped('topic or subscription not set'); - } - - // prevent HTML error exceptions - unset($app['exception_handler']); - - return $app; - } - - public function testInitialPage() - { - // create the application - $client = $this->createClient(); - - // make the request - $crawler = $client->request('GET', '/'); - - // test the response - $this->assertTrue($client->getResponse()->isOk()); - } - - public function testFetchMessages() - { - // create the application - $app = $this->createApplication(); - $client = new Client($app); - - // make the request - $crawler = $client->request('GET', '/fetch_messages'); - - // test the response - $response = $client->getResponse(); - $this->assertTrue($response->isOk()); - $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response); - $this->assertTrue(is_array(json_decode($response->getContent()))); - } - - public function testSendMessage() - { // create the application - $app = $this->createApplication(); - $client = new Client($app); - - // make the request - $crawler = $client->request('POST', '/send_message', ['message' => 'foo']); - - // test the response - $response = $client->getResponse(); - $this->assertEquals(204, $response->getStatusCode()); - } -} diff --git a/pubsub/app/test/bootstrap.php b/pubsub/app/test/bootstrap.php deleted file mode 100644 index de064f4954..0000000000 --- a/pubsub/app/test/bootstrap.php +++ /dev/null @@ -1,18 +0,0 @@ -=5.4", - "google/cloud-pubsub": "^0.5" - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/pubsub/quickstart/composer.lock b/pubsub/quickstart/composer.lock deleted file mode 100644 index cda7878d28..0000000000 --- a/pubsub/quickstart/composer.lock +++ /dev/null @@ -1,1760 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "2f6fc235b61eb520d33ce75c89fd8e7f", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/a240674b08a09949fd5597f7590b3ed83663a12d", - "reference": "a240674b08a09949fd5597f7590b3ed83663a12d", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2016-11-02T14:59:14+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "reference": "145cc80d8eeb03ad677733ca2a5a9bcf4fc3def9", - "shasum": "" - }, - "require": { - "google/auth": "^0.11", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-05-25T15:15:05+00:00" - }, - { - "name": "google/cloud-pubsub", - "version": "v0.5.1", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-pubsub.git", - "reference": "5d647b2c3cf571fa3a400603179685a82a6cd076" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-pubsub/zipball/5d647b2c3cf571fa3a400603179685a82a6cd076", - "reference": "5d647b2c3cf571fa3a400603179685a82a6cd076", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/gax": "Required to support gRPC", - "google/proto-client-php": "Required to support gRPC" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-pubsub", - "target": "GoogleCloudPlatform/google-cloud-php-pubsub.git", - "path": "src/PubSub", - "entry": "PubSubClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\PubSub\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud PubSub Client for PHP", - "time": "2017-05-22T16:18:33+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.2.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-02-28T22:50:30+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.22.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1e044bc4b34e91743943479f1be7a1d5eb93add0", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-03-13T07:08:03+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "reference": "35cee84ae1c4fe0a6599392d7ca13977ff664bee", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-02-21T15:25:22+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2016-09-30T07:12:33+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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-11-25T06:54:22+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06T05:18:07+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/9752a30000a8ca9f4b34b5227d15d0101b96b063", - "reference": "9752a30000a8ca9f4b34b5227d15d0101b96b063", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-02T22:05:06+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.4" - }, - "platform-dev": [] -} diff --git a/pubsub/quickstart/phpunit.xml.dist b/pubsub/quickstart/phpunit.xml.dist deleted file mode 100644 index e051d0c180..0000000000 --- a/pubsub/quickstart/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - test - - - - - - - - quickstart.php - - - diff --git a/pubsub/quickstart/quickstart.php b/pubsub/quickstart/quickstart.php deleted file mode 100644 index 5f4152a21e..0000000000 --- a/pubsub/quickstart/quickstart.php +++ /dev/null @@ -1,41 +0,0 @@ - $projectId -]); - -# The name for the new topic -$topicName = 'my-new-topic'; - -# Creates the new topic -$topic = $pubsub->createTopic($topicName); - -echo 'Topic ' . $topic->name() . ' created.'; -# [END pubsub_quickstart] -return $topic; diff --git a/pubsub/quickstart/test/quickstartTest.php b/pubsub/quickstart/test/quickstartTest.php deleted file mode 100644 index fd5b06a0e7..0000000000 --- a/pubsub/quickstart/test/quickstartTest.php +++ /dev/null @@ -1,51 +0,0 @@ -markTestSkipped('GOOGLE_APPLICATION_CREDENTIALS must be set.'); - } - - $topicName = 'my-new-topic-' . time(); - $file = sys_get_temp_dir() . '/pubsub_quickstart.php'; - $contents = file_get_contents(__DIR__ . '/../quickstart.php'); - $contents = str_replace( - ['my-new-topic', 'YOUR_PROJECT_ID', '__DIR__'], - [$topicName, $projectId, sprintf('"%s/.."', __DIR__)], - $contents - ); - file_put_contents($file, $contents); - - // Invoke quickstart.php - $this->topic = include $file; - - // Make sure it looks correct - $this->assertInstanceOf('Google\Cloud\PubSub\Topic', $this->topic); - $this->assertContains($topicName, $this->topic->name()); - } - - public function tearDown() - { - if ($this->topic) { - $this->topic->delete(); - } - } -} From 963d3fbc01ec1947bbac2b7064abccff542c345d Mon Sep 17 00:00:00 2001 From: Suguru Shirai Date: Sat, 9 Sep 2017 12:47:06 +0900 Subject: [PATCH 06/17] Delete vision sample --- vision/README.md | 47 - vision/composer.json | 39 - vision/composer.lock | 1988 ---------------------- vision/images/cat.jpg | Bin 74560 -> 0 bytes vision/images/eiffel_tower.jpg | Bin 166192 -> 0 bytes vision/images/face.png | Bin 468575 -> 0 bytes vision/images/landmark.jpg | Bin 161448 -> 0 bytes vision/images/text.jpg | Bin 124744 -> 0 bytes vision/phpunit.xml.dist | 34 - vision/quickstart.php | 49 - vision/src/detect_crop_hints.php | 52 - vision/src/detect_crop_hints_gcs.php | 58 - vision/src/detect_document_text.php | 64 - vision/src/detect_document_text_gcs.php | 69 - vision/src/detect_face.php | 45 - vision/src/detect_face_gcs.php | 51 - vision/src/detect_image_property.php | 43 - vision/src/detect_image_property_gcs.php | 51 - vision/src/detect_label.php | 49 - vision/src/detect_label_gcs.php | 47 - vision/src/detect_landmark.php | 42 - vision/src/detect_landmark_gcs.php | 48 - vision/src/detect_logo.php | 38 - vision/src/detect_logo_gcs.php | 48 - vision/src/detect_safe_search.php | 41 - vision/src/detect_safe_search_gcs.php | 49 - vision/src/detect_text.php | 38 - vision/src/detect_text_gcs.php | 48 - vision/src/detect_web.php | 72 - vision/src/detect_web_gcs.php | 78 - vision/test/data/bonito.gif | Bin 543497 -> 0 bytes vision/test/data/cat.jpg | Bin 122667 -> 0 bytes vision/test/data/face.png | Bin 468575 -> 0 bytes vision/test/data/faulkner.jpg | Bin 167040 -> 0 bytes vision/test/data/landmark.jpg | Bin 161448 -> 0 bytes vision/test/data/logo.jpg | Bin 47016 -> 0 bytes vision/test/data/mountain.jpg | Bin 41852 -> 0 bytes vision/test/data/no-text.jpg | Bin 12377 -> 0 bytes vision/test/data/sabertooth.gif | Bin 648279 -> 0 bytes vision/test/data/succulents.jpg | Bin 81499 -> 0 bytes vision/test/data/sunbeamkitties.jpg | Bin 60942 -> 0 bytes vision/test/data/text.jpg | Bin 124744 -> 0 bytes vision/test/data/tower.jpg | Bin 6139 -> 0 bytes vision/test/data/wakeupcat.jpg | Bin 64892 -> 0 bytes vision/test/quickstartTest.php | 43 - vision/test/visionTest.php | 305 ---- vision/vision.php | 329 ---- 47 files changed, 3865 deletions(-) delete mode 100644 vision/README.md delete mode 100644 vision/composer.json delete mode 100644 vision/composer.lock delete mode 100644 vision/images/cat.jpg delete mode 100644 vision/images/eiffel_tower.jpg delete mode 100644 vision/images/face.png delete mode 100644 vision/images/landmark.jpg delete mode 100644 vision/images/text.jpg delete mode 100644 vision/phpunit.xml.dist delete mode 100644 vision/quickstart.php delete mode 100644 vision/src/detect_crop_hints.php delete mode 100644 vision/src/detect_crop_hints_gcs.php delete mode 100644 vision/src/detect_document_text.php delete mode 100644 vision/src/detect_document_text_gcs.php delete mode 100644 vision/src/detect_face.php delete mode 100644 vision/src/detect_face_gcs.php delete mode 100644 vision/src/detect_image_property.php delete mode 100644 vision/src/detect_image_property_gcs.php delete mode 100644 vision/src/detect_label.php delete mode 100644 vision/src/detect_label_gcs.php delete mode 100644 vision/src/detect_landmark.php delete mode 100644 vision/src/detect_landmark_gcs.php delete mode 100644 vision/src/detect_logo.php delete mode 100644 vision/src/detect_logo_gcs.php delete mode 100644 vision/src/detect_safe_search.php delete mode 100644 vision/src/detect_safe_search_gcs.php delete mode 100644 vision/src/detect_text.php delete mode 100644 vision/src/detect_text_gcs.php delete mode 100644 vision/src/detect_web.php delete mode 100644 vision/src/detect_web_gcs.php delete mode 100644 vision/test/data/bonito.gif delete mode 100644 vision/test/data/cat.jpg delete mode 100644 vision/test/data/face.png delete mode 100644 vision/test/data/faulkner.jpg delete mode 100644 vision/test/data/landmark.jpg delete mode 100644 vision/test/data/logo.jpg delete mode 100644 vision/test/data/mountain.jpg delete mode 100644 vision/test/data/no-text.jpg delete mode 100644 vision/test/data/sabertooth.gif delete mode 100644 vision/test/data/succulents.jpg delete mode 100644 vision/test/data/sunbeamkitties.jpg delete mode 100644 vision/test/data/text.jpg delete mode 100644 vision/test/data/tower.jpg delete mode 100644 vision/test/data/wakeupcat.jpg delete mode 100644 vision/test/quickstartTest.php delete mode 100644 vision/test/visionTest.php delete mode 100644 vision/vision.php diff --git a/vision/README.md b/vision/README.md deleted file mode 100644 index e74d7d2149..0000000000 --- a/vision/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Google Vision PHP Sample Application - -## Description - -This simple command-line application demonstrates how to invoke Google -Vision API from PHP. - -## Build and Run -1. **Enable APIs** - [Enable the Vision API](https://console.cloud.google.com/flows/enableapi?apiid=vision.googleapis.com) - and create a new project or select an existing project. -2. **Download The Credentials** - Click "Go to credentials" after enabling the APIs. Click "New Credentials" - and select "Service Account Key". Create a new service account, use the JSON key type, and - select "Create". Once downloaded, set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` - to the path of the JSON key that was downloaded. -3. **Clone the repo** and cd into this directory -``` - $ git clone https://github.com/GoogleCloudPlatform/php-docs-samples - $ cd php-docs-samples/vision/api -``` -4. **Install dependencies** via [Composer](http://getcomposer.org/doc/00-intro.md). - Run `php composer.phar install` (if composer is installed locally) or `composer install` - (if composer is installed globally). -5. For a basic demonstration of the Cloud Vision API, run `php quickstart.php`. -6. Run `php vision.php`. The following commands are available: -``` - face Detect faces in an image using Google Cloud Vision API - help Displays help for a command - label Detect labels in an image using Google Cloud Vision API - landmark Detect landmarks in an image using Google Cloud Vision API - list Lists commands - logo Detect logos in an image using Google Cloud Vision API - property Detect image proerties in an image using Google Cloud Vision API - safe-search Detect adult content in an image using Google Cloud Vision API - text Detect text in an image using Google Cloud Vision API - crop-hints Detect crop hints in an image using Google Cloud Vision API - document-text Detect document text in an image using Google Cloud Vision API - web Detect web entities in an image using Google Cloud Vision API -``` -7. Run `php vision.php COMMAND --help` to print information about the usage of each command. - -## Contributing changes - -* See [CONTRIBUTING.md](../../CONTRIBUTING.md) - -## Licensing - -* See [LICENSE](../../LICENSE) diff --git a/vision/composer.json b/vision/composer.json deleted file mode 100644 index 800910ec12..0000000000 --- a/vision/composer.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "google/translate-sample", - "type": "project", - "require": { - "google/cloud-vision": "^0.3", - "google/cloud-storage": "^1.0", - "symfony/console": "^3.1" - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Samples\\Vision\\": "src/" - }, - "files": [ - "src/detect_label.php", - "src/detect_label_gcs.php", - "src/detect_text.php", - "src/detect_text_gcs.php", - "src/detect_face.php", - "src/detect_face_gcs.php", - "src/detect_landmark.php", - "src/detect_landmark_gcs.php", - "src/detect_logo.php", - "src/detect_logo_gcs.php", - "src/detect_safe_search.php", - "src/detect_safe_search_gcs.php", - "src/detect_image_property.php", - "src/detect_image_property_gcs.php", - "src/detect_crop_hints.php", - "src/detect_crop_hints_gcs.php", - "src/detect_document_text.php", - "src/detect_document_text_gcs.php", - "src/detect_web.php", - "src/detect_web_gcs.php" - ] - }, - "require-dev": { - "phpunit/phpunit": "~4" - } -} diff --git a/vision/composer.lock b/vision/composer.lock deleted file mode 100644 index 24a6eadc35..0000000000 --- a/vision/composer.lock +++ /dev/null @@ -1,1988 +0,0 @@ -{ - "_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", - "This file is @generated automatically" - ], - "content-hash": "6163fb3f6c00034088d33f0070be1a9f", - "packages": [ - { - "name": "firebase/php-jwt", - "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "reference": "dccf163dc8ed7ed6a00afc06c51ee5186a428d35", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Firebase\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Neuman Vong", - "email": "neuman+pear@twilio.com", - "role": "Developer" - }, - { - "name": "Anant Narayanan", - "email": "anant@php.net", - "role": "Developer" - } - ], - "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", - "homepage": "https://github.com/firebase/php-jwt", - "time": "2016-07-18T04:51:16+00:00" - }, - { - "name": "google/auth", - "version": "v1.0", - "source": { - "type": "git", - "url": "https://github.com/google/google-auth-library-php.git", - "reference": "db77bd2de0bcc40bf50ebe851e9eed332aeaa4df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/db77bd2de0bcc40bf50ebe851e9eed332aeaa4df", - "reference": "db77bd2de0bcc40bf50ebe851e9eed332aeaa4df", - "shasum": "" - }, - "require": { - "firebase/php-jwt": "~2.0|~3.0|~4.0", - "guzzlehttp/guzzle": "~5.3.1|~6.0", - "guzzlehttp/psr7": "~1.2", - "php": ">=5.4", - "psr/cache": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^1.11", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ], - "psr-4": { - "Google\\Auth\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Auth Library for PHP", - "homepage": "http://github.com/google/google-auth-library-php", - "keywords": [ - "Authentication", - "google", - "oauth2" - ], - "time": "2017-06-13T18:00:07+00:00" - }, - { - "name": "google/cloud-core", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-core.git", - "reference": "30fe5b3b2613cb467ab18363165e290427b2ee3b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-core/zipball/30fe5b3b2613cb467ab18363165e290427b2ee3b", - "reference": "30fe5b3b2613cb467ab18363165e290427b2ee3b", - "shasum": "" - }, - "require": { - "google/auth": "~0.9|^1.0", - "guzzlehttp/guzzle": "^5.3|^6.0", - "guzzlehttp/psr7": "^1.2", - "monolog/monolog": "~1", - "php": ">=5.5", - "psr/http-message": "1.0.*", - "rize/uri-template": "~0.3" - }, - "suggest": { - "symfony/lock": "Required for the Spanner cached based session pool. Please require the following commit: 3.3.x-dev#1ba6ac9" - }, - "bin": [ - "bin/google-cloud-batch" - ], - "type": "library", - "extra": { - "component": { - "id": "cloud-core", - "target": "GoogleCloudPlatform/google-cloud-php-core.git", - "path": "src/Core", - "entry": null - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Google Cloud PHP shared dependency, providing functionality useful to all components.", - "time": "2017-07-18T00:02:56+00:00" - }, - { - "name": "google/cloud-storage", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-storage.git", - "reference": "b1adf92a54c6c72a19809ae0ab767f317035eb19" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-storage/zipball/b1adf92a54c6c72a19809ae0ab767f317035eb19", - "reference": "b1adf92a54c6c72a19809ae0ab767f317035eb19", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "phpseclib/phpseclib": "May be used in place of OpenSSL for creating signed Cloud Storage URLs. Please require version ^2." - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-storage", - "target": "GoogleCloudPlatform/google-cloud-php-storage.git", - "path": "src/Storage", - "entry": "StorageClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Storage\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Storage Client for PHP", - "time": "2017-07-12T18:33:11+00:00" - }, - { - "name": "google/cloud-vision", - "version": "v0.3.0", - "source": { - "type": "git", - "url": "https://github.com/GoogleCloudPlatform/google-cloud-php-vision.git", - "reference": "4a495d07144735ccb089d2eb1915b7e2288c838f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GoogleCloudPlatform/google-cloud-php-vision/zipball/4a495d07144735ccb089d2eb1915b7e2288c838f", - "reference": "4a495d07144735ccb089d2eb1915b7e2288c838f", - "shasum": "" - }, - "require": { - "google/cloud-core": "^1.0" - }, - "suggest": { - "google/cloud-storage": "Annotate images stored in Google Cloud Storage" - }, - "type": "library", - "extra": { - "component": { - "id": "cloud-vision", - "target": "GoogleCloudPlatform/google-cloud-php-vision.git", - "path": "src/Vision", - "entry": "VisionClient.php" - } - }, - "autoload": { - "psr-4": { - "Google\\Cloud\\Vision\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Cloud Vision Client for PHP", - "time": "2017-04-25T15:37:29+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0 || ^5.0", - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2017-06-22T18:50:49+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.23.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be/" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-06-19T01:22:40+00:00" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06T20:24:11+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.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": "2016-10-10T12:19:37+00:00" - }, - { - "name": "rize/uri-template", - "version": "0.3.2", - "source": { - "type": "git", - "url": "https://github.com/rize/UriTemplate.git", - "reference": "9e5fdd5c47147aa5adf7f760002ee591ed37b9ca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rize/UriTemplate/zipball/9e5fdd5c47147aa5adf7f760002ee591ed37b9ca", - "reference": "9e5fdd5c47147aa5adf7f760002ee591ed37b9ca", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Rize\\UriTemplate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marut K", - "homepage": "http://twitter.com/rezigned" - } - ], - "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", - "keywords": [ - "RFC 6570", - "template", - "uri" - ], - "time": "2017-06-14T03:57:53+00:00" - }, - { - "name": "symfony/console", - "version": "v3.3.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a97e45d98c59510f085fa05225a1acb74dfe0546", - "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3", - "symfony/dependency-injection": "~3.3", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-07-03T13:19:36+00:00" - }, - { - "name": "symfony/debug", - "version": "v3.3.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "63b85a968486d95ff9542228dc2e4247f16f9743" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/63b85a968486d95ff9542228dc2e4247f16f9743", - "reference": "63b85a968486d95ff9542228dc2e4247f16f9743", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-07-05T13:02:37+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-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": "2017-06-09T14:24:12+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14T21:17:01+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "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": "2015-12-27T11:43:31+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "46f7e8bb075036c92695b15a1ddb6971c751e585" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/46f7e8bb075036c92695b15a1ddb6971c751e585", - "reference": "46f7e8bb075036c92695b15a1ddb6971c751e585", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.4.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "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": "2017-07-15T11:38:20+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "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": "2017-07-14T14:27:02+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com/" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02T20:05:34+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "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" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06T15:47:00+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03T07:40:28+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26T11:10:40+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27T10:12:30+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.36", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", - "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", - "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", - "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" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.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": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-06-21T08:07:12+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02T06:51:40+00:00" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29T09:50:25+00:00" - }, - { - "name": "sebastian/diff", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2017-05-22T07:24:03+00:00" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.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 functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18T05:49:44+00:00" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "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" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17T09:04:28+00:00" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12T03:26:01+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "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": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03T07:41:43+00:00" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "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" - }, - { - "name": "symfony/yaml", - "version": "v3.3.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "1f93a8d19b8241617f5074a123e282575b821df8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/1f93a8d19b8241617f5074a123e282575b821df8", - "reference": "1f93a8d19b8241617f5074a123e282575b821df8", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-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": "2017-06-15T12:58:50+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "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": "2016-11-23T20:04:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/vision/images/cat.jpg b/vision/images/cat.jpg deleted file mode 100644 index 53f913ff4a481895a69ff1bb468698a05ff55500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74560 zcmb5VcQ{;6^gn*rV)af|tP&-<=&^e5y$2Dj-dptEg0NZ$B8%t}LZY|ms}lr41d9zK zdJXdR{(OGV_xb+&JI^yS=gz!l&b>3wJu_$K%)fn8GGp&i70Qe4tbB6)a!T%$Q=I*&Clkk7@ z0SW-fB>KPjZ>6IDgMr;)e%yusZ5;q4?sy_$K_PKTK`}`o2^Jx^q|jqYL7}^Bp!`3a ziYmX6m>9pXn4pITi{m3velY=Y77Zg7BV!%l-x8n%fN}n#|6=eR;o{@|M+Erzc=&__ zL_~xHgoH#SHb-KV>T7(l>(QvM$~IAB~59)J(ID-@-?dkGLO2nQDzAAASA>r)(n5{&zw z5NcLD1KR^(pXhoTwv6JQulQ?+inMeh{}us~J17n%m=cf!t}ny5*rU-(2CSK@$A-FC z_EV~L=_?p6=Eb%ktX;?F(5i$M9L@aqbMJ7!sL~K)gA;=uA+U@ zbNqO>k1Tx0_$7bV%%(x?Z-u=9N&?*IqcWkYY>p!-EdANGVVq4X+9I7y;vXFc+W6xFOveni8^n(Oyim=-b}-RjZDJI`DL zGu~q%Ip2zHNxTz->~tG8!=fy#)HI^+u|v$n)=iFP_qai`3e9EjR$SwLZY!p|eS4oa|_+ z$}xc;&1c1>pRp2ygzG7Sv9snQdVU3_G!)^#@@#t~=oxuc(wH@6rnC>)AGr<=*v>Wa zm<7m{*&+e@ar;LUQt1HZODF!}9vmz?8`c*XIrqY6=_WZO?=>Dvt^BURV_mh8itwUU zF~tjd84+FcZu>_=BS%7t63ZHFS<0v8(*Jf+HM%)q-1k~VChQV zmn18jIomJ+nx4aZ6I7Eid^w*lE}dfc8TL%mwhBWO-ED>Gay9V{#{A5mgGN~gUl|wU zOW=|iZ@fh1tr#QN7K?K1y6sJ;GfN7!^?&z4KI&<*KNFEp*X>4CB89;F< z)V7>W+{MA(q4zoL4Ry&I8OCi1UwK7Tf+h^ShMQG5-I;zUI&7DuFcCRjVFCq%=iX^!%X9%S6h_wR>L}7}H4(@} zb8@n;tSEkrJcaobTtCAq_fSeqdWLiBDv!qX#~r84ep1$?9j>ZblTzK>R+eU|CE7qh z@?Uk*?^4=Xp5V2fR!x%@Ve;RM00q9Gvo9&Z5+9smob!OR*zTd?%@=_ZH{AKX0ZoKg z#(MW4Yb=PCT}9?xA%zz*^6dUK$#GA+x?Ul=Mbh*%>69-f@eA%_W0E!p3X`-urQ7Oe?2GqgtxDzGM}K>#xO z0rLAo-4LSC8&@BOhr%6&2ESYcZ2yQ6;Cis5e)5c|KSAnQcbF0hjcgPch=29z#w?}} z#%Y}2&pYxJ)>Aqa4@Nm0hJyUylL@T zMy{y1D#~EX6Q3b=rCdKemFz{~^h-rS2z)PEeoB2yi{!~DEKAkW0>h`lS+1ktM(+e> z<6L|*SRF;~`gS4F%~7%GcYi#MvFWC_I`iD8*n$IN=8@D?iYW3e7m`!b7gQnyCL2CT zZ<$JXO%KF*cTd}KEg&U&?nOERJ`t%&asJSjS`S!O$I$R9<43>>?A}=6SWY=cWy4v( zx~ef$ge;2?FpGbs<#K3olC98igwE%~l(Utx+a1EE?&W$_W z)wfdH!4LP*G23#!N3BVwjt+@Kk~weNu^dQDZYt&;AA$y5%LFUQif#?D1%4L86b5%w z33VMxDzI|HPz}oRHQ|l^Jr%U>R(y~a6X+knV{=gGw|)s^Q1V#XZj<1w)F9~GV5l936)yQ$>rbKop@cso|6IjK{1uF zc))K)MrM}^N7Xx+5l^#jABvXgGHHz^yb)S?WloTTo1465o-^p9(Aml+v8(6U$kaL+ zLRvFO9`=ne-I%)Hf_0E=22IP7#@~Q{g?yzYkEt9!UoTHy!WG94ZzB@PbhySAH)FCV znadpZIziV}aoz=p3h0MXDh#qwu4?S7Z|8H@{`2m#kIp;GkML_m7K7h*y%I71BV8q? z=~PT`gR7X+?`wQ)REh2lTF=+A4_SRqOEEJHUkLen)zglGU~!Y6T|#?m>`tDl>U&SL z#8oG_7S0AaS;iY8RH9!pgtaOJxrlan@&-d=#f#wo%^KL;45*0pTnG&u#O?4$zfK~a#S4i z4Pvg5d}XT#k#R9z-B|Tsuj=;<^21AJsX3@(+_8eKI&B($;Dgg&SF5j$J|Euw&0SU! zweCuTA*qn4DM|f42s$gVX*w39RhX=Rm)JEZV*qkL4LFcbC3m0~D@K0rr$Cl1jrK8j z;L4J+CR~_$;gMmu$W!i!A!+Ily>t0`i%&n~XX4{?pL~CyxVkD_@18y3tB7hHFp+*7 z9J=;}@aK=7Pa^Myx65+V?{i#i^pUChzP$V@?jVq%Jc3*X7JTXsN9uc+B~y)s(Le9){xIj0ED1Mw2Z@-O8Yo&x7G4c#vip5HoeSiMJ*D`hMb>Ckpf0buM? zY;PB9Q)^=+!NtyxMnuL268 zjPehEtO8-J_b%80lq6+LDLxC22+qqh8IGXr{M3eSGpU z_(C%``OkbH14}d~BiiHjBK^UO@EW2RGQUeBdR9-t&X8lpVFs*}Zs_q`rD>1|_KMf#Hrp3l#vL(Ndq=V;v%iz0xu^@FI^e8#p? zm*^?55Qvffdw=DzO;5<*EnmDe$=$Y~a&j20wQsZW z9>qbm{K2jtfu(|Jl`T3n=@Uk!np6#AtsBqK1{CZQCiksp73sr zT;{q3kTze|r(l{wLgy84O3H%*9xcd{d@X8De#}wPHkLW0z|6END=v*{(GMY-8y#r- zll(JOYpG?KwEak=`F85g5Fx}Yz8e}1%P-U_{|6x3xw^)-c&Uq7sxBfa!ECaqQ{lQ4 z8%#w-$d{m6{zn5>tQVtwXYWZji;TamG7~&NQmq0)!z>bv2R_5Kk-UI8=3k1&Hz`{bOinU-U=R83) zR1OvNLAB^JECx?Thp=6M3<0jjbm7^nrQis2<*59TKRfwQ%>)TE-Oo2HN@MaS=%$g* za2V>DkeY$(V*w^rRTV`$*ais2mA(3WSxuT9JQ!TeM2%Dn36_RP{0=HEZIseGsWxIi z%`NC@F2Zb@AL0LL7&O;i70NJ3?54jnBb`H0xbhau1<@8Njst@b3%fe%p>bL-wP{VQVXdJJf3qvNK+r5 zR-;NNw6n~XE&_R-W~Qt1d(+466@*-Gx0$hz?-+YQ`n}~k!7VYNM#PQ7cBFva&_zq_ znMl7~Z%yllkpxJ(P`AkLwZ-6wOgMKb7y_T1%X&3QpJS-Tc*6sxhueuH+httK09!Be zgr-i;_cTloMN0Z91Tf9etwb zY~V!3w(hQ!Mr*jAUK!husOh&DNuWOh$pw9bde3al<9%Y&-craBu5K8Q4Q}iWM~xF* zF&ijK15}||$&LupdC0awht|+4qLZpqq3EmOQk6^#hQ?UDC|zUnys9JZWmYl=H9-d= z`Qb2~%Kh}3t`)!251o~sg?aB34@YjFzIPb1@tI%AZW#xoSlkd9&EA8&O{uXm&S~v`^yO)qf=lHM#N)S7rymk6tF{-6nA@X=;gdDW2ZC@K z&}EcaZnZy1ebL2F{>g!=j;xz0ce=BmOP-8Os(v011qH$01ZX=yj|Fs8g!sb9owo=lwufC%rciz!B9rGrHewTW|#DL(MxPHZW`2?kvyCuwrJTeyVeei z65zYpcf}2?mgc<<5)Fn?XzZv!q~V)g{5}NS((iLUg{QKVQ+tJHt*!-Mef4k z(A9#=tEtJ@bXbTDU~#I$y)qzaa@MS~b>C~y4$r&E+s@DRqP>{(w`Q*MrK5FxA_igZ zZrMaYM_Vq*d{svKLr(XTJin}Y+SX04C8~MgSPoWGs?s79Rlk7&(DtmKj+oS&FZZlO zEyQBf5Uy0jp-OB#e6E7Dim2E+He4(mUaIHf=k(x-z@62|fmF}b`C0z;w@;zwJYR|P zuggNWgK>Nr!LG-V&(3*24Tw5Z@82U~yVekEC$H#LXV#v5B5bd+1*87V;z`f=*k`&> z{AH!yA$_sA#z^fMiL4buwCT?eI@S0CMh(0qo{c~lhVv(F-#1V6*k2Evhe}F$%n8p` zrk;;!v*iz-iFiE6%>}LdG`?V3#@4zvuIoJ1A-4W9y_`e$xz0=uO&01}T!_D?>`5(X$vd>2>s;X!aWI5Qs0d z*#q6pbn`B#4T6=KqMTNmmW>fOxjKEtP{qw>?1%e09u&6ls&P3%%S?& zDdl*j!oS7F7~%hG#1c4PueO+VVvn7vF=uZjE2SQq3^SBbcjA`A26ffZUuu*QxHief7R8CSxG2H!o^6#S^g&ki(FZkhwwcA$7?Q)8Z37V> zh9@@Qu){iIxtIvZLaet!0m`mx8j_-gdHdp*wg zNozL_hN6D}pXs`A$y{9Cn+T)lMyOaAnH%5R2|*bMtti0+WF+|re??8^CZ4^KK3ank z!O6zhHn&S30i2g`#LG{R>*zWNps;Wu6*QEM zq%`bT;+}8GOefg>kmR`EjH8xZQRG)hs99?LYDSuoj(zjuDy^YR_n`05IF z4b98lHi(C*F$>@*NmR6}xeZOh9YHluUP?=xzUY}6!A=5w+NQ-=mW|`9Ia9i8WgD{Ka>s>CpDgnr z@dCU-E*Y&0Z$`MKN%^Iz&X?~Vwd#L+v>&Eo;ZV{fcOhxz@3>t;MY z6DL47sDOWf1zR6;o1YJFZeaq$v$QwVrq@N%(>PjAHWGE{_R5RK zOt<&Xo120WiEocuV9a{%fSd(?^qc2aH*#zAH+l){z|_a%N9nE<;{6TkFYCKq9!MZ| zC;zS&Y`+#3?9U?9Qm6R`^a-(FsTQpk`lU;r4wy7Zy~Tk?{F(8P2JFp%4ZlM=%&(UB zIay+P>1wP?c=k6N>ubLEE~!boCEzUK^5vMpp7s}&{!6`iA10w~Cds$Ptw{Z)`gf|G&NY0M)VW@&PEUL!0OVfASE`~PUG9ds_<{NGorXN zzn>&qG6eY^9SCb@dI)%jlt+Z`NIVkzNj~roXnUY~{2P+nOkw}dW+S+WYDA=&Pq?HN zTCvefuUWTxbCWmXNG|Uk7Flw6YLv6f1Z(^HU37Pox1q@%-uuPqAK(n5+|A@R{~V;D zni$i8nAv@%5nkym>G`GXdr&wsW{3nRyk4n; zqm?(yY)|j^mx0BIyx=OUZNp1bkH)j30E|?f+zTjnrRr!=RNG_*h9W$XzU?sKPG_o^ zl!fI-2-igTcx52_3SGbM^*v^T)Ce8rF~|2Xy?yV+7I=^z9#0>V`0(nb>{fM=S^Ot& zZ=WTa{%#4($3|CMdg9m}ktbcN9$P6;i>TJY5dX^fTCBux8SZ}X&tVdBIWDNewQxPd zq>p@iYFSKE)6D=i5_J0ERPmfSRwql!eUPuei}7H5KS`|JgId=B`$KlhoUyVbCjc#9 zO(@6nE5CED(9OkT^(Se~?|fOLg+?v^8s4AUwDr7~FfNHzCV72eb?){3FlMK#`wDEq zAuCl3>RTL-_&dwx0IO49Gx%PE{(X+rABPDVe6_Ynj^(HZBN2bRBwzik=%pnwPYSmk zr}?l)ilW0i_WS$$zf~>#&pxweoS!>fQ{HUgwEhEds==9(5yoT{A6)~^BLkA>2%U^l zK1c;RWh&U{>d{X!qg-eGYhaQCkzRCZ0p^L1*eF>7*jUohMCJjo(7+ErFYH#f31-=+ zJslIFi{@Gi-1MC5CJ3mFo&r)TpxPG^j+&9mw`#%H8sZD<`Ufmm_k{aV2XB^19Um$X z^3S|IZ1PL1Yo=0PF z`6^k4=K0=@voqT-`90OaxJSIm>-&x4c^4Ribz6CWOiuD7vCJ%DEyHU`O6INM}S5-Zo6llUkHU1`V^M1k`Y- zr2F0p`=~~T1=F9Ml(0n!O)NXU>ApvA%39Gdvf+npq;F)r7?%lkV2Kj;>84>*yvOFH zc`zz%mRMiXyBZ^FBI-lda>Jv+3SY(#uA&5>i0%@8T=Ieh<&ndsZGCAc&(-oYdt9>c ztK(#(GK2b+|3}`Wbpd|oSbth-mDs5W;~~0qDy!qUdn59Ahy?~=P zjd*evjzPdj927hucTB%h73N}LLXuSy;Lr4rnxRwsCcg@$)5bWs( z&O}_Fv9FTYFB2WBS3W;Q<)floqVLvZ*3u_dSqg3JvA$fxzl^Ux=jY<+66`LCZM=kJ zh9}+5D*HUJ(f9`_nd>N-;0Cf7vz(8s*ZsLxhW$1Ekn0JDuq8j7!($QZkScyXgR*IaLoLQKU-;v&j8qd+n1Y@U>NoUbfzTv;bdJAZKc5l%k*|3e2 z7+#GQj{QX2@SWg|{I9wU5Izx$4GgsV4=3!}rGUUZV*;0|%W{qU^9bv8JUiD{w^G&>Uzs}mc68MxQ&0css zdaKw*_y9o_8jIAB*ucuZs_M|Fwoq;hOgO10k$-_;KYX~?`MujQV0%#T?ldB#;-x1? z)SFlLnkk#K-TZizQKj{Lk0;k?XL)j8G`H%8n|kPx&yV~Ag8rHu;@3!y238kv8-5zG z<)Ux`3DJ``FO&GBxf+%1eo_kKczjMpH|9Jd)Zod;Rs%1kZFKNe6q!Q{eWF75Yw662BtbKkz6xYrJ%OT zwo37xL!>a=WVsSCNX`i0M(?U!q#4bgO4uB;A=yQKFOzAYRXDL(w*$V^a^)57C31a- zt_u(KdHnwVtYfBKdJ=v_&$sn7E=3b$caIY|`v(XqZb#ZNv2|pPcDRMY4)dPLBw-l! z^d{N^I^BnhEYV&OgX*u>hOZGUB!Q<_L@&%k=f8S*mGpkn?6Pd_6Z+9`5OlJAT=CW@ zDw2EXA8@)yO%c%u7cV}8yhk(Vc~mcs^GSsbC4Wlqz=?ROL+x}%@{v7Y5!I40TKJft zb@A=%ok*S?p{IIoZVx~Dqr!d{KDVMy7zA<7)Lnja{t3v`mZW-6y4*cfFaz9^(mL`8aS3e+aHPpR_x>qHQ3F!Lt>_#6w{P4AK9rpR;3u1qpu%RV_31^kY@{IB3#)8r2!j`&8WRjks2@mqKE?e4FnRzd@5=lOY*`liG6Wew1xn zOo7&i#jZjJo6H@rPcyDd+Vo0o;*rE6B_Q(Q_g5V(j_0g3IDz40~#pNtYRuQLqnt6#3IcUy;-D{t>QofDdEl zkuCzAUWgBcl1nBtwPY*i50GYT#m|@Ok7rmCCTsKxi89(+3snxT(^8_&pMCs!{>n5# z-G(wZ?Tt|HBW+j+Wp{-vd*hKb$J*$_L9M5{%LRW%xFt?7RlBkJx^z!fDQUQyU=Il# zAQ=T4-_p?O!4|6V&NykToK)^`hSL7r(^VMByd2|uU;BT+G0B@Q#>NPn!qMMJO34%w z;M1z!cz}8vZL6&2(c)JCTKQySKL}y`d#Khn>38IK= z5!&50ghtVWQJt=~OjE|>2Idm0p+=9bynGo`e5IT=^+nz9@qo}4f`Bh=$W`+9RlM+^ z8d7OJn93V+PC4z_WCHEmNJ-8icSPaK6ik`&R5sJXEUFl(Sqm z8+Uy3p#S9boxadUrdq8lZ^2^#_PoSsY`n{+n+l&<_WQ1iysoe=m+(j-nS^YkuzE?k z9FH3@wTXgYAM4fmwo3PI3UcM$Yfrq-s99xQU!mJZ_!B$8lwRORk>_6F8IO7iIZ~FX zc52|Ndegl_@o7wqz7lFe6eFX_nn)L zi=y5eq`gvLE{)IeJ6fCqpX}|z^P^(62XDN=$+<(Smh|J4$%Aw7tf(igjO1lPjfviB zkVd}vTRv|1-3AqjtsnA-S{W!!lQTDrOHieuhS?C_3-I3l z#s#DF8iVpts|252IPpT5Cl^ao&7_&sn#H6Ofkm~4%?Z@)K3ArHlD4)`Ppmc5YFj&jX5LgQ8l#h$}TH@;K4*~#R z#O=A%Aeql}o-*0Ygdkj0)TKTeEphsb>z5H5e)^toygs{qledoR--YZU#@1b3jKB$W5<9DTLqzMyxA4BMLzDi{HrHkkp_-Q6k z{N#bu7&a-aI}SQeyr7sqAzPtb9WBGQC)%j9amcmvj0}| z$Dx3lwEF$0&Nd1?w%FLAOJgSXwpovIe7B{b2b0~+_lQah0-(LI%d3S7Pj!SnwC?oK z;H~^%p}E=*(f6b)%42L&EyvzuLIobXGhfO;fwgafqP1Q!c=vl`l&t)Q=qlSk{|Ag4 zl^?Pj2G=iN3~Z=%6M9O&n$&4uptF%RR{MF0o*$j>f!lW#Teq>x( zUa)dWSB*?lWx>f@>K&)?8s`afji1)|Xy!Ol~$VYOqqn>r7Y%CWL zZkoTM==NJFe3{$Gz#Gn>tHeK<%V<^@y#y30q1pc$-?yJPqqeq6dgniDxb6&sJ}{=k zJ%bA!PaUdvC{&KFsU?qUw5HZhSh#$?h#Gj6#?vTOda zj@TPDKDQsao=-=AeP5K=v4k*u)?QSHY!mwY)p~k-%aQzuoFk{A>)TW!JJK5(K>-YT zhQd<*ZY6ikd(~DPeT1=$3{z7*=4PqR7$my~hfd0#NE_ZW$3+(nzgl%SrDqAm z%+wpoIxL%i_|l%iSoW&AC*i`}1J`fir~uVc)89{I-qE1f#@p7YRpBKpoT5t6BK69b z);9>i+ndmHcYLL=whL({4JNiIec38q1=isC2b_zkIqL6mb@ikhy&(GAs>&lmPu?`jdaSGB(CaLY2V#O}d+JeJ%m>IhU9bARPapUTI!Rx0^u#Csdxh`@uXv2{xeqAS|UT1KHd5yoO2($NIIVy z{@K;e(sFj+XLH`*ZPMec#Wz8!Gm4;DGk4pRewpf&4yAUjZ1)R{00hR&N6gam%#zvV z)DiH)$lhZ+zsZJMJM?9?L@|p8%YoF~biZIA0y5vIossT0i%lWpF^f*zUMenqe=H|J zS5H!DfRvHzBT_%G0$A4 zT^}3cXNU(KB%d|4>SxlXQy-Lo6k2D4%gG3a_Eqbc69bqEOy3CmAv^pAD8%ju?IF@%doJd|Dpg`lmEdpd=k~slQ@-&DxY3L*9p!I#%M6 zYJ-KIS5&TpR+a1?L<7t@Je(|4!k`-!8*yr;4x+E68=%>_%IMi-2iyXu;e zNL51kfa?=^=6l=PEd$mP36}!QUKQGNtI+N+SXvE*iMLg)I%i5?;<>Qlp(>v<{~s9eQb%O&UC;|JazEB}-zf(Iv2455A+Y zXQ%|dw(dC8A~q6!J8BgA{DG>^?s$k9kruwhoi98kftoeE*pr4b0XLt5Zy@eYF_utu zHz`a6i|+jRs`_=FCVBW%H#RLqTF{D?J?z%M88-IJODJJ;l0P=ZXQd*|#ULZ+^h%$y zg_AQg)L^P=se3|VfMb(43u!wy!@@vu$~dmg42PrVUYFo`eBZT{-kSnXZfh(#CGvfH z*jDJW)XtHL?_jsEJvm*s(X24nk;IlRbW<5s`Kh~iH9ZP2lnH)Evu{W!D!G(S0L0E$ zX!3|X2$l}qmp?YqpmR)Xc#c7xc4%dx{PbI8>I?j=6BH|${sEHabS&8h%Q;@XAsFW0 zQ&~d#J_|>}&QtA!-Xaz{bkqla${h+~G;}_kcdofxFXL8IPGybdlXC8PYR|A6)<9KzjX=*U`o;GUM{OTUKM7<+>PWZrcpH~zYsVbGNky?*v8$+6ZJ zE{<6xHo1a6#q@HtFowgDk>}!NW%E#!yS^3%Q}UsBq8` zO*8e!knBaUUqC%U$M+v+Dw{(>;(8!LOaQs|#=QAK;P)R%pOT$2Dn8|lk$b>(Ms^}8 z>;%JA1yu=fO;<<{g_5l0#5j{^)a_8z)O(y+TNO;#vEx>M!mK!BBHJ|BHT80T^=Q^% z1weRu(gl$r0Z(;%mTN}sU2z!8w=HxN58gdh9V2A2?kRBMA(Y^QuoZ6g(0I%zTdycN z52zHm4~pCOd#lmIQZPsYECm0(&`y%KiP!HM`ivAcyGw0fJ>uBdDQ~qFu{{2HeI?S4 zY0-M&H2&A_i4et-lGxZ8l%yGhY}wB$RX*Z?uceDoIfk2~3f^y=)WQ!xp#n)xShD5| zDCb^IPa8KjHU~=iUs{Nn3_XHXDoCH`W9804TA1mNMdEci3Ji2dKg{6LYqG%`PEBfM zPy9ojEpC^_z3Vm8Tm)7X_g{qp=htenJCHJk&b-Re-s+DOjI7^FQ0CL}ro^UAO)2E@ zdCir>|A1!B#rF|BO>Kqa^`AZmJGJ79F8L}Z++eV^mMl(1AY*@cm!AE3P*;d zhKW#2`~Q8)w6*3m%bHYwf1|p6BXi-zu5XJjVYZQhxb-=->&y|gXgR|diwoy^5|gH1 zgu!ZdO=P<1Xkrb&{fRrDwh|>Iems!z0M1rFBppH?LZmUTT4>xNKxfj`+PaNGFP_tL)TVRi`@Yv?J-I^LMG#_XDA$!{Lt|I32J7O|BIL5x3WI`LO=21 z`nY>3GwFiHtq&Z!2L*fO!$0SH*Qq9mCXzpdD+oMGuWa{2*Taw(=augLluJ5g686!V zHd+T?9q@&|H&dtl-8dlK2 za9D1HpypdYb35gGI!-src!Qbf-?FG|Rer4sL+xDJmUvQPl_b`j6#^Q{131{X`Pf^Y z&sTR{V_0GUR2}5_ut``cJd!I~)AA+7xQ|p6dG|(jP- zXRY4m?#VmTvlI1osaA!dWQBB%<t|s=8Md0LY^s_u#bL$FJ5AbWF^}hF8icJf2V$Z^qBD>`Lgv5TuPyNt zOZ(kPG_RM0q}_1;#DXSK^hL|i+<8d06egvJx5d?njnXMvJo!OuVE&w_s)r2)hJ~2v zG^!jfP`xGO*zVAZ{61n~@k50~Jmo9g2=*r6Gio$lSgkKpH*~%5rfI3v%Z4q1^>c|< z4t?0kMR*kBjceH&?;*p|4t1+3QP``WDKT)nmSKqndk`={W&e7hJH{fEwV{{ZT6UOpOM z!Vi~GNP+=p^ulR5=zft^f-$INJ9#Jt+4nO)Q=*05I%KX#eI$E#>948PG%l0LqB{Cg zU)YmRSA%84h(4MPdUC1Hr{GaUrWbLd`Bf@@Du1wG!w0qA%te$^g`G8iNx^b$UeoUi z@b&x6&vmxv8Q!N1Yg$*mmI=Ck>PpXl79E|nt3yu#15JAJ&}W!v0I0WB#n?}>YyB38 zzO^p`-(=bjg5cYh(!s+JaM8&Jk`NoF6U$niw(`skI_Rao8N-3E-b88^1kS8U=GTK4 zIgzA&)L`8m6_Rp7%RmKTx%GeYGB%yya#mPboj+Z~7@xAJkU~Q>2*7@+Q8YjxGX1ub zIWRVY#?-$eCyE^$CiG~&i4bD)iu)*0t-JZNtKgPcLj*gOpc@0o&{yP_b1l!WAL{0Q z<~%+fHq37+GVIB6rRS_gW|&Uf%ZQxKE4hunUwK?ytuE=B-XG4Pz`(}Qwjb4!XYk(G64dGo}QMh z+t5%&#C9ssIMK5l56}|f#7aQR9<$PkSZTkfTF#oJ?HW6>L@k?sNS5@Q?rgN|!Vl^m z7jWxf<-(1^1CD2CtV|IXYO<${c|=9_1ccK^K9I`_%eYvBMt!0CG=Py$3Dq z0G=k<7Fsu0_EaKKRCy16UL&2PuOGvoL-%xH!{^c%M|?s7e!8u_%#ESp`x?)iQ7}hl z56{1(4l3at_LTC=AFB>vda?MKVgw(GRv5}x))b%5tP zJwi6JW>8-?_4^etm7Hb9B`;t7DN9*@s~FFTx z7=uujnmq&EokeC?2D2ctCb(!kHVQ5H39MCvPs+pv;R))}liEx7u#0ieg)@5eLsv0! zy04V~!2Up>H$0XPn}YTAIMX!-4~M+2USGdAaLWzqmQl69f0atIiSTJ-jf$ZUmhJR0 z*>meN+j+}Z%1HH@wtk_}yKYL*t8lhH{qGB9eWgwF4`NDlCd|2{8HZ=dE?Ck+8eBp=R+A`7 z1EwLQu#rF&0m&Fi@{Ci_=QXc*{n?KD)9z6gOT}c&Gotm}DNR$^G^v<7Cd)=)zD4{T z&1>DiOvt=-MS5UU8$-T6yyE5SiPv(i*9&q17`I%QSLz%1n5QI}UT=v1_H>WaJC4tm z%ahU?4RzwH4ePUQBo8MTex{AoS8ab3bszcg)z`$% zsLp?qgz%X=%&Ad*y|r?KBh~6@z*S%&%-uhEIPIyoFgXQ-rSQ5SDre6W_`}zCx zguU8pg*79u8ZG+S-|y6Gy!Mu9S`0GNGQPe5-Xr9s=kIi(SSm8&B6Xw-DcFB=edm?& z!7abT^fg^bzPwOSWq))!NeMmsIqu_4lRcb~@Bq%tKaYcS8XU~tT_S9By+hwKNn%!# z{wn1wA*gU@GrDLYpg`E(S%03~xyjFN6jM{fK?9xe*pox*_DAbNpS@C?Zr6owAGuo8 z{{F_Co?_v>qDPIq$#*qN#oVZ_>}*W1bvLcF7(VGC-;3u9-m!kO!Vq*y|C>oPNA&Hq z?-=1igdmg&-sdZcWqKu-bkeRza8v3cVwv}U0KGs$zaH}X<%H2gfTAWU6lVvJS3L9! z(v^6tHoE?`CA_XK741}}N5W)PU+AHarsGD)3Vu-c?#LNO1b@`Gc;{QVKW0sMk1qSm z3wU8=AmiZL2d?JHQ|<;TrK9*Z_x3%Hh_K#o#9j9MNU?{>aqdunf2pQctS_~H3V338 zzu*=8*EsV8f;W>2bIAojAY!{5o*sp~B?Yy-LvN6z<$=fy^0&k~Ckt27C8yL#7xmZrs_~n=kupNRfFi(Cn-x95yQz2JYkIXFU z21yD&9G>T=u;@G0Q%%>dZ{?QdRygfd%0@xTDs%%qFnvaI+ck3V^s~(y98EOS?cV(n zR1Oe#<0Sn0(nBj6s97+!HM0kr!Z6PuQH0nO5DDOP^c~O6fVk6EE%KLjVBD;Lk+_b) zekc70=4$5pRANPs%2>`BfOd9e?~nk-I`VTvNu--+kyr_3m2eA5yB+b+DD~iGoEEu} zmj-k8wP@vcnpcWEbdQs?{{Se+=N-qdb6n5IT6Ln_`Fc)~ad4=2B-4Z-4!|FUc7u$B z7~o}zuI;MW%LEe1H1?5iJToe^neBzaCzH_j?b?uC_)>jR+Bqz)k;@z~QHFN*1vAih zAbWPIG3PkO(=|mM!gAjY$8~k6S}R91pS%wwj~>yx7&#;5)7q>bY&JK4wcwX#_}Lw91l}l#+W-m>)3iz2mo;`O0FXq$l&9z`^9d{oHWoS(K4OvNErQV*UTW-269!n$sIH8QAkS;oQ{Hsc*s4E8Tp!lmk)wH^GpUa zlOg9nhuCMmYQT<2$M^pLW~SP?Cp8|{$s_5SAYc*1fsu|t=sQ$WL%oRSAm@Weq(Fj5 zBRtod-@jAtXv0ASh^gWB+Bs5RwZO;-Z?|5OO|4(weU}_Xwb&#zsC~wW@>Ff#-qmMZ6&o0CGF} z)|(fBj-9F3G_B2J3O+8_99GPO8OC#10H`?R;NqoG>EF__;8{~6bvVcw+uFTpB5u!L zrEJ_OVgWrl6&yPRgp6~^=~?0_l!Im*(le8{rZLZI9fM$=v`>~5cjG&_HLHaKaQvux zh7=JoZoXL@ar34v!h#ruAJY^BZh&nkIOjP0sEDO5LaF1u19KFoY@Nv?9Xfq0Yi>#E z2WruXL5!dCtze&Oo|!o9N~?fLCO5X&Qw{<8=82FgLBRQA6sp>8FnZ^&r7#WfgM)+V zLPbi@`)0maKM7DV(2AP_VaGM900uVXlj+|Tw566HdV70PiQH-u4c$oCl8kf5V^PNV zY!i;gvABWrtN_^xNf{ac09xI&Ihs=Wh9t#v(Bx;@i2K1_PI>3007EQ%AAf3^+BqdZ z2{;`=r4`fq7%=&lC`VpwB10K^&cP_uFPTO+uwbGVKM|#CuG1!*G7UmU~DunP)9=_EKcKa9%bR3EyH#h_yhZQc&y8Dhn`Shc9+A0QH zS?Ho9fI;Whrjp+PC>YI5ssIG8I34TENdV^<;N;Zd`ICc3nH*`eJ9+i?sWR*iWBb;ZFrtmXgZ=7D z3DP$LLUHsX@-^XLRJ$8`d>Mc6-jQ)Ek7smM5N>r}~bjV2)U9c6rN?H@F}- zy7edNNc8<#1*lUQ82}+U0ltI$>N{4jxRF`z8WvW_bwv!g;GOI;bDp_055S*WrBSqe zqx~8S`L?W9GOgQZZ})1ukyR;_a) zK{7P?$p%b};DeK%bD!xP=Rw_R4YX+Nm{8>XBD3Bj zeh1cfEp~V=e4}iOGNxC`XT!!i0Hwgst~u^APV_aJ(g`kLk_J0tYSq*zVfXpYmp-p)ulV6K>Cc%AcSWR7 z+?6AsBis+jbgsQ7z5547j3(Fe0-}NkBygwZ20o&`aL{~TCYj>db;A-}MJh8P9dg6* zgN}zASaZn+tylg(wz^2IM2wNP(5Uau_9TJy1bu6iFtQSS&W58pW!j^lBd-w~OB;=eTk6zM9S{ALO*N7q7HId^4Yo}-@Jh^ts+isu7X78NdL0@$xmud`aP#he)s=b_shwl6=V=v$6$Khdn+OBz)F-y=1{}2E3(R(FO09PnHCn3Z!7`E?ao=7-#iXI zG3#A_UbwRwJZn0cWN6r>yeL{{+;B-=Gm*hL?s^K~ej(Qmz2o)OH0W4C3;y}RQXR%R zdkpYTb_9&1lj)3tRDNAL_pgpm z{;ajTNm+-0rMZb+Pm*pLB-z^mPC8=;2R`*?@W1}CE$^?4PvI$S=2N+$a+giFfN)t= zyLT<~6+-+m@uuffL-LYj)f~-O*jf6|r8S$gq(A&@w>GiN2KKr?h<3{s+TPgBNe-)R zs6yt(@Jr>4fX*36;Ai3Mk9=1+i|u1e@okK8MPsIIxlPNu22xM`0OL70>6)_mF4o;a zj?tm>3CV$h7++naA8v76thSjc4VrNwp@AMzsb= zWPyfQm5X{S4uSS@jt?Y!>wPjs*XspxgY6KPv9#1}8}8~x@s?(Yj!$lQ%~f^%7UxUS zuXYD;;5PlEx66;#x3=*T&32O6qZ~HYc!mall&NEmqndTBUVZyZx`mc<(!@auy*l%g z!1{{zG7k}1)P*DGK4sQRO>*wi7i|9kFgX0U{HY|WK|J)}Rf}4Z1-X$DHW)naV9ei9 z$LUCCiCMA^IO45V@jo}s_>IUg0`A6h(E8REA&j!*{Oe$Va85uzwYsSd%N%v434-cC zZNWI&RMg92T!7%`6iiVdJB|i1^PD(vfnK^RLOM{M-(Ol27vz`z}a1u)s1bB;x73yNdnZEp|^ z3Bfs|%n^_d&V6Zpw3&Ppj(GQ`LRAU3JXWwG5-Bld+z6ns;Q9(vBxP8hxjhXzyJcPp z9Q^sE6R-`O5$I@=<{l=9psr6nz3NShPB2ON){!th^Uq^}ikTP^2tTK4WznAQY_SaU z#~2(|UL&;U_3K&O19$1qrEj@HV1bT%)?8U`dW+^<4spR9C6P%?i<=89hk))6t_-CxZaw5DDgpjc~XC5CVq%k=Rm}Ss939^8?nLUg|3<;hR0N zj+C5E7G1#e>6}rkaXfOCg+&};H!}0rnu=9e+j@h~rETU0T<^!F4zAYJNK<` z*}UDO^EHb`3PwTrxFhLW{^1pyCg^EkcmVvWDP?7Cg^mqKvLD2A$JaC^(Gp{6=yAm% zM==(AhiSk`K3MdoQ|~8%`gEXlWc*FnwrP``KoC1EP_u1{HxZN zenF{m{05C5f_{Ue&^#N{|Q^g#A2yLau<~bBLiQx@fUMM5i z7G+|iqk|q#agYZm2a3h6hj*x?w>PgBogm!X;VRke2?K-elSg<{QaW|#lQpLKA|N{_ z!uxZ;C;aQ#7h>=^oh%u5TB+)Ee+qqudG|5unx)Of>@mh)5|DTq;czkf{HuWdrRfpc z_?io7qY=kg@g;@D%GtaVB*jsc4&prs=tt{MwK!kNTgV}IfrjN^zY7fY1aNbT zU7%?3$EW?$)G~Z!%Q}yXC;tEg>0LY;-%kMz-|h39twxcbGLgWK{>gk%ErzoPgmsoO zTTWP6yoBa6kBTwuM@s5GF7WhlK?UhXFxt%($l08PUI_YwTpChrwIiv*@hkE@3T+$I9vj;LD49 z{{RWBk}!>L#D?9*NjXo6fcC&0e~ar~e@4-?y;n?@%KkKArrkp&zd6|?N8x4kCCe5$ z=*K;4ka$)c=@Dsh%$DD~jzAf}Q5kHoJZF*5$X8bIbYkAl_!S_T_q!E8yWY$Wa(Pe! zoc{odro~%>2<(9EBkL>vJdj!Gb~m?R#BHULX=2-e*(9>^NCWqI03MhfYn*s@!4pSf zvP&bDUFsS@a-S0gQay!rFB{&)brPa0N#;mmmL`t?l266cj&_eseCf^ihwZdo0!>0j zSuNHA;qq`-AoU%`^d_(%&5->d7JMiG^FBKJY4K}lH;>@W0nB$d3M9I8I5D9)#z#Aw zr^`OI$)bx(u(O|0);!mmA{H-g_xa^oRWyW^*Egl`${3j-zYaCXYS5$4= zO9Ur5+J8Kbhd){#7&P5S?E^rAPqt`--w0SB9L80N@8~nlBk=q}%E}QOtRl6IV=iz3 zAaZ}H=DMHR2ZHbQ&1T=kZEqm^(zT|K7TvDp_@3(kXJRf?G3)UWz@@&WpDS(rJpTaH zr%R@#UH<@!i=BGo>_%;S!g^-2r2|t%S?!9}2<_rCWMrruD9^>f&rT0|;@&a)K$7+u z;oWy68Qd6>k)h}aIOKbC*1msOF{A!|Cs#wL%s~UFAA*1N3*rqj@pNw->5`z0wtea- ze|Z~p>T){wuGlII;jtwGmdah&7_XKd9RRftThdCM{7v60~&Oa7(;IF z)pPIbPW&t4OV1C@_bc0{oWq0U+-^xxyAky4Mk;Y?0Ub(n;!M1+3_er3Yq~(Nk*Be| zkr5alEX2|j2e#lz1CHbCMd)`%>c(}!%f{StqZsrVrMgFoto6Gkx0pL5i^xaD(bGK! zap*IQ^sL%w_PSm4cbYb%C=JHWtNjV%(9+m#JC;lM*JJlM{{V?C7Axu0c?q?TD$Kx!fe(u6i4vfb}JO3-q-BPEV2!7#mZ{&j$*k2&Pl z?5GXQ^lsaZ27YuxI9}l5p+yJ*Bdu+`94Nr;*R2Z(9Z5`wc1Yyb8f+#99@PYogOT(Z ztz=?TJxRrQEFGN8O+H55$EQkxotX|#UwY4$O60M~{{VbcZVAW@kFQ#Cfeb8xq;)$= zk~?GGw_F~FnvY>8k&N&@RpnBxoCDgJL>2;1CNZ=xQ|Z!%nJ~HI>L`*(QSgpEDj8S= zEC}?+6^q311V9{Nh&lP!op3XO^{h-eCus(?EOz`~TA^>ae4b1V6U<_8PizkKbXKgY zH+0QG08rbA{{Vipf0`SWBjrTadV_W$5JUh6Z#^p#us-{J>Nzd~CIKU!MrdV`rIY8- zXEd$8W-EmTN}rFE<2^-8TVn14vm8u|k~4wUw74oG+5kD}^Q`R6QeWC6u}i-I9-!2c zDc^&Uj+C|uSU1Ai!N(NJB3Ku}Pf=J2tq?1t4i?{{U z17ST#J##^My9wt69)^y-nKqm-=hM9@a<2Ffj(PW@9M5EJ-9jU~W+dl4aZ{$NBt$4u zIu5iF0u+&-PHWE>nw)hRInOnlMZ^ec)eDRO-y>Nwo}dCxtt&vtPT`U|XSGimErui7 zyijPsSJ$A;{=~k(z6s%n9P!G7~`ksQ=}@y;EW$?1{LBn(;!J~ zXEC2EJ5eI0+9UQ*~0UM8cCLbwIGq;Fi z#*)lQ%X)D{!>7Ezfk;p?2EgB;pkS5L;g_8AxKn*P)LcvyET)B zQB;2v*e08H^V^|FPvcoK3iH=KwdPYP!I?q&nPTw2i1oh>Ucr59WMhi}zS$T$sQwd= zuU-vy7Dmcwi=z%OphJrVaNp`lj9uc zjN_gG>sQSx&fioK%@Bs&@(-OX;@y?U^J66bRW-H~&r_%rWTqSu=lzKL#b0Fic2_b> zd7)of%I-_grZR+-|( z+H5gc>Xw$eh=V1hR(Ur8)8ie!U=PZ=28XHmZ&((=)&-te_p?PF(!Rk*#>b!>fu6bP zO-$>NxM6=${(Qj6xfl7k@A5z5e06p9aSTWAPZj05+Mhe__YMy|i(n7P*VK?)E~)lQ zVHLOnNp0eUU~)SVpQb&lnSHTZK^~_yzLz{~l9N2A%*jPoASa|>xa51!If$&a@m(WNqA}zKvA&-(a zXS%5wBPWlqy>%JjPubS-h~W?{A~cRLTLHfwHw@>ld8=?P?0cspFsIrlDZkR9zO{Jc zNd(B`uu+gm;0*l+K0~isC+&|=eLw8UGchkaTiTP1WSnH=b>KE>*1Z+Ywadv7Q_j)} z<$%Tyu^suYJ@&`q-9qZp+fLiM-_J=1!N|r&++!RJpI$4J`mv{H1GB{IV9^~*W3GX@ z!Zkm#NbIj>)MC20mF`EL*70oshCGpwPDW1^i(dxJiT4ScS%xIYD<+*Bqz<41mH2w{ zK^~Ra{>?l%WV?(;W^rQZW|89#WJVd>pka#OfsxY(itHNaiM%PHM8?kEBPhb43yr6C zFdL!gKQDfjsj7VIZomQ6i{yXE%NXbas*n*z2OgQAJVW-I;|)!wu+x$4 z?28Zqi3uu5C3gZ9K<|M~u4!QGw)P6uI(V>G;)uL;lT zL;4T%Fkx(;{{T(_@C~2T{{X2Mh4b-;vG33$=3tZ(9LIX6z^em0OsLGQuiKkte|;%ye@ zD8aP5n%*=!ysM-RtbfAeBp;pybWJ8{PTYR966rAbrq*O< z5KkKs9D)+60RI38%5ppL^Q%HJP>(5u0i#yV*5l$* zI3HY9-@;nG{>rr5+&OjjIjas6VnE;1?Fh)mFTX_L8%*T()ra{Qv zSe1Yz0n)TJ%`H$#6;C6K9A`8ml~&{vQrvG~LF4OMEKInAEY)9@QLkH{$7o>C%WHt|OHXaHfkWSEdORD;#8W9gPqqW+Ml$6eZKD zxK$%3uWBR{-SslC`P|3r`cWnjpm06w7DHm~AZM*lDNsFWgh5aN<_6?#%7LEPq32>0 z1B{VGkaAg(-C7&y*1I8=8)E%vem4JBsuLh+V2jY8&I3;@;~s*G;^Y z1EBu^d{hu%wgEqpsisya&Q3|Spb80us8_kP_YEs;4WF0$_NX=$ZgM_#y}WE#F+3hBX%R9M751-K z5Nc?xhT0d3E(q24WMYFw!th3O+|jo3D@VvV?T??WEud8x9nu7EgpZv^1d5G~r`C(R zjAsLP(u7z5Y@f(hsp1eMbsO1*brL^0BxBl-NK_`p#^P`@(w15}mp}pHoka2EF>%LV z^rgFak1lrbU{glWsm3UA7$YjVE$B@!xO6h?1L4kob?9x$U%)Zk&_PkS$n8>9LPFy- zL&EHZiRAiLS(Ya;s{x*CWMd{*e&JpO$V zdX3t@mT&+?B>Mn+{dlgIZKXvghlEQhk~LsHCRPMv)khV~d{5zfTPgnlYFpdn#C{?a z5>L+^K9zVvfDt}}Ou_MmFwJMjkV_BzFt*(o8-H}NG9HBdJ?ep}_=@9Fx>k7XreVe| z35Nr}To2DQz?gL@8chm2gt*7=BLsz0=m}sC&{T0*>n90)r}>h9`JFI-GhP7QnQE0m z*D*cTk97byx@@Q|%7Rum1r?8FY-Id}6QpWl!PZ-?LH4I6KQAPZcmsD%o%p8m_*P4} zT3ABFr9j&h%IdiE0OF9|X_q=&yJv(-&UlcxVxtF)af)7K-X(fnLS0`n?W5~AxAQBQ z65$+?i<26rK3r#ym$hFs{{TKcLGS+Rt99k?*%$8P0DmjwqK=(T>gJvklgVK%%E*!- z0b}x{k$p1X4mxM1MRdChTPui%np!xdaU!O{upPP1axu?1BLwxXTVbQr>wgh+46SQ| zTe&BKC?sibr1NBCLa_$O+yUgU$m2b6p7kGvZ=usJ{EI{&!peX#;PmKzXRbR{pHZ;2 z(=DBim+v1qV-kQfoVQYO$m2cgkrmW-dc-bcD-WK%@(3hyIra5DX*59>Dhx6&9Z#(O z&2N}Ou46#>W-`eh;!e}ho=030jCSi+xi2J5IaV;v!Lp@`d}NL=JAeqTXZC%r+sS4` z3RiAINTr70bNITBeiO${pywj2xB9#ZvdLwUo+jLz|MRffire8yD0 zPa;+PWvN`-moeQK(%_Yek$5Bwj-5tEJ$`k_yhCu_B2OaOjFZ|FY&S_5ju>&rAKtH@ zX&RlR_Q;VhMP%5y<0FHd{dgTZ*FEsGh;=;AEQ>sjBT$X;1;;#R&JO!vnYv#u9BYBF5P!EMj_aGeSka(p&Ez_=IFL!Bc=FaWCmVbstOpGv-Dy+N= zj5k`dTIkT}yDvc5xl3iB8*n?ZKA9&t?lVmFhFje=CP}WuqzFK1q=>J=KaLzQCm?`H zQ$>RqKG%xPo|}3Lxx=rufuz5cb7ys7Dz3?-vbr&aEz}Sg2V4MfdVOhC=CNrsI9*CB zn2F|TW7~8|>I*nN{SQ5;-xYXMRB5J`0|Q7yI5Nmgtl;6k0!d!{=lan87SgqbSB-Sb zcqKd=iDKMTe}rV!Nr;{VpC+jlcQ@bP(k+g|RbnO&GgwS^t2$;^&t>DMzZGcEd{=#- zz_u}3q%eXQh}Z@=^(~X1aao!+vT|hw5f}H9+~J+S?HRzOGcBF}0Pk%z3+T!IHAZ#$ z6&x)X{X*^yqdM> z5lG5e+A)M9-}w*AgXvUH2R zbs&FAV9;woY)2)O&-ulGQ+HBws&!2NEaky zkzB9Fe`oP5Z#}vJfJqpx%@px!F%pA-DORm#=An(3E6#ZBRVGrriO$QXOv7V|@|@ai zwh}OS*d5rx7|m%ksBgal*5Da%&P0 z2O#9~J*o&wABZi#06H&7GiQt|%;xwuOL6i%R4|NS=OFW1 zJFt@<>q7h(3<>6MAz}vurz8qndROpvG|7Jf>67nE?_!tnY&_OuJkJ&*h&{B#F3j_u zn4E}v5y50wFL~U-~-?N;)<5xFCrjg zI6bjZ!ER$AiVAA*wB5kSichv`kSGTf#?X=Q5x~wW0f+c`$?HbL2m?4A^NL%y&LEAZ zW?-yAQ_rBSt?hinyBNiJ;{@a}&VH0!Zn35a1HU7W^`$cr9gRGgLqrxXpAq!_l>}^5 z=aQqfZf-Zmy9YkBGs7u6Qy`vt@jwOl1cDC`-@EzXD)l|RDmAk(${Rl{)cRy)To-b| zYZ{HjaRNafJkX1}5R~(BU~;(UBdrf`s-xitjs*`L=}-oE98|`2oA85>GsiWmhT};Y z1wo^kqko9)z~~3`siv6@4oM_rP{m(%8$9ETR>>5AjjY7{x>l6}C@0Dr8wMMKb?2oQ zZMdKXbKIYL5;&P-1&%+x8*Zc=@B!~rIg4?}GD)FVC9~8Hl@mgt4gkqH9PviRyO$(z z*gq=IkOA7mfH7MkS>NjDM3umXjOJO&aDyVRMeX9zMvq&|}vt0aO;A6Km zrfDRKPbn0VPj5;s?+lUr9Gp}(5dGp$FpzoUCWHtfc)1*Q+sJoZp5E27!o!psvsNgq zBWUug$n~J*w`kao0X+NA`jlgFq0QYiJqNPO7Nb;~D<|IuhQ@Nhkps z$?eeBK=59Ra*_$WqKZyHF#s{gTGDqA1iKEHIhQ>HNrKzM!C?|f(4FhF0qvgEU)D6c zY4<|kcSn9O!LUCe{jpc@i*IU~k-#|44oBvCQ17SBaTzIYL~Wh!r-So9I{IulgJKI& z%uXhyoCm~TXEzDH?!tKAoUf4B41G@-q!ufGrWX77Fscp#9eq8|=U+r!=@vN#=KTpP zf}T@IMm^AD^`siNgEZ|xGenw=*9RsW6a({S!1|g)Y0C1lmDL9uUUK^htuGWvvnX+l zv*)kNC-tV*S~T6fsG&6JACzB~!z1L15Ru6|Y3yg%XJ z3^nxg+iRBkn%*483#i7);`fb$u#|cOnG6sb)Gfd1G6g;$2cH#Jn`-C zTZc*?u`3$o!2aW6Ch(Wq&8$}c0JFE0EWZORpN9k$#zz?J0OQk&wp@LzJ-x5pqn)KH zsuh{{Du7Q+j)wpd(BrjyuXCkq{todc?Cn*HAq?=i_;HS%I)l?4s%xJUYO-nfGgwN# zbZ2P~$OAYe4*hE1PcAXA9w%2DX)~{@Mtu*c{h~vvTC}%6ca0%mI%hygTmha4?an=o zY2gh~yh(F$sM^>iwX`xDcxN&I(=S1h*q(Xg9=&Rl_C@w<;y)7@E__j_&n<=48_HPK zM5CXDi0Co_`Qxp99^Mwyw74^4ID*n8TsT-lMCTdG;4nS%I6i{8+4NpdCL=e*u?F<< z3KE@f;%^dJLvIzRv^Md~M2F4gBI%vYj>DX1-mMych-@WayUQdOQqD&X#e(Cf!Z50P z;A0h2o56*=Npq=Q_^Q%fK5$CdrN@&pDHuDVRwEsG+)p^>uHFrQvW)`ObP=v7jy7G; z%*ixCbHg#(*aVKfxXp9DB8^>7K2#_Vf0WzyCYgVEBrs{LI2%hR?uJ0l)&Q0~eGO}Q z;CM8}^9{VOy-N@ve39RrS6#L7PlRKEEHwKV=OPZOTUN za${_&$p!tyQe=NJtB^;?=i0kEY$yejbLTagnU4dB$Ti(6%H}_y?YwS_8uegD20wT!>ax0D|Q8C2f*NSyJfoW;ttA_Zp6H>K}NIvZ<%Mt$o_XeMr8V*VO{;)8YZYoh_u!J8pYF3h& zaH>&Q1J7TCk(~OGR=)`NF8=y)eW}^*ZZJ{!BiEYf8YhSE$}GMkx3Qi{2mb(3E|F%% zk6>LR!>`EXb~Sp^wB0)20!D9kMqPK0>s&MU9lr^d5LmjoOfaf9vLQVV&(i|%k1T%LD-WB&k(efEQ8spwja zpxwzbOmZ_4rU%li*2wav=;L6_a7iHJk81eMZKh&`bw2A$weW_!5mu>nCA5tgW6<^O zRU;!^>I#z{Gtl%kZPsltNKROC*rW-k$k!3POOi95GxV-=3p`GqA{Aq%(GA34Dsh3+ zwGB0+TYW0gqvWacy5o%X>Hh$Vg6h>;Vw-YUaxunhTNolFXJFK1-WJpvSd3)%t4X&> z;AUbt83WYSTT0R7wIS4;az1?j07`cy#F0W5Bm>7asKrMze84kWn7>rf;<-|+0qxVF zt`qj3;Yls!dzd3)q?{17^c)i;u0yc;(ytSEa@$w7W%9#r7zc`{3sK%DKUsuo5aW6A z)V8uIY>u6c1vQI-xk>fGuCe1^0zQ>;(jow-BoFUY3(IjBD&S-q>f+8Cd~T;kbkFXJ zEfwD&k%T|3Npk419CPk!Fm}jRG62s}M#p96TW(?0b*dPS;1%4IF_uV2!Se5WxWIlYG%z5_l^oELS}yDXj{J70V%1~w0TMPn$9gwUW2x2&*;F>bKROcKXed%@An1>s4pU6~p(akHBLNV@YuS_tqWWXN8X232< zI9_qh8w`ZS`@RlxXce=VfMik!u6j|niG{}RkTpI)2bcwIxsbg3N$hjqy>BhUlo>p? zIILWGYn%*|+=^Kwt;P-qzx(T6RSnGZ5)BDu(<2hZaz@OPjME6=Rn9Tb%9H80ERdpP z0DV1av5{IJ%EJSvxv8>}4NOyA$q9l8vHV^AsSWJ@bel^MeNReZF=kDoJQ2wM06GR6 zcHHtw7JGlQM~;BFSMq?*JH&$+;QYl+V|m6|h|UicB=!w9c6>vx%Ak(L;W%GTPJQXN zrD|&5a?1sPx`0R*IT^)o90mmuZ3F|Hp0%fkF9c)m^EW(WKj%y}BqRrnaD8ePavZ6L zjl!4=n9kGit~lnVRRTOF4-~R%hmG0JJ@Ham-Ymse19wiiqS!#V#!43(*+?CBu>3u1 zHq{8b%#&>%U{|tBD`gK{@tPvZaF~#g0l}y? ztG}4eKpyl|2!Tn+1KyZL4WbJTrWqQ-R29JN2sMd|aHYHBk4h2l%o*UR=~=eCMw2Yd zyFW@_rh77lP(UIwgHQ7mNhvr03{bZ!5ys37xF;Cqjf&wG9B$wac;c1c-h$bQKphKX z^Po`7(SsJ@%qBAGz-6)D2NYGM+&0pw$P1kEdeAXkA1q@fxWMm2UP~lkfy*(*aYwhB zh&avAmu1!BBPenR$vLQ`m(6o8@Q#GlI@0EFqY`~P)9VA~#0=9EOp%kxbLgYF{RJhl z?J8bC1clh}5E4lCuCL)S6}7Z$HOsSP236#N^Ugo5bI%Rh8`-|=1Ykz} zR2-Hbta#7pE2U|cvDx0+S}RFA5*uto5wFdMC+UIiX}D8!iW9q`4YZRlv8*={k!Yyp zIAXE~3&&DV0+!qeU~+HgX;>bfR`8?Kb8-0tR$EwSlGql)3=f1yw4b5=w6jyut|pTZ z?~*~t3cH9n{VVGcDQHNt8#H2huF9s^Acoyog%2X`U@_2c;C%%y)O_i{Gu)O|J5)

<6E2;Aov-kJnFflwywR?X6K^&JDIL*?F4x!Y|#lt#~CWT5 zlrkP_Uxy;qTwK~`gtZHzmiMKnxM4ANe4K&TsA2%)CY#ya+3423M4IzmqhS-wm^y*! zlgRx406MK)c?oeR-Sk*j&QMgmgbRsVYOv|^*hwsR(65;~FT$cw z1`lv?oPJ=`Swne%r(;-;AkzE~4fEbhu0b(Fx=7`S7RWikCnbJ+hhEsL*M@vS;Y|=n z2AQkGh|jny$R>e_K9U3Fo}i9F^{O3|8hnxmxY6EF&*mhG0FpNxoHudbY2&{Ye9&|q zCsPS`u>_rFJ@gpQc&} z?QO0GpC^Q=i>c}NR$gEt8Fxo>1mN~YZlkdRM)_0iAHguh zL)#%B{9aKwEArij`g4l1XqM5eX4^=XWmZwo5JwiK%1jDE||yZUnTL}ESYyG;Qc4q{1Y;^9gX4zJ=^ zTa$uEaS2HxCQ>lHYIyHVim>1f#16eEyQEf#jAH|(S7w#rl#oh{=Okj3NyGShj!-gp z4%fUdZLQh5zSbmXr(g81oc_@K7kQ*zv4I=OCyWl2^p2mXWchMAIrrn5U*hi$+Uhnk z7K}TPamQM_69%SP$k*uxWh&kHpC7%W$0EWqNk0`oOL(KV+mKE=(f%Ru%=$K>(p<#C zJdmXH#%XV!0x{3SjDUEqik}(LrV6fNt}gVhJuyG>~rX8)bJ~YeWYXCttFRh zPq7b9F;6ulVYJzS&2h7aAPjm?-+hQM_=Z&U$fEC~Z!0@ck=}Cl)jz->xoL24JAp!2F)=1)LwyJ=8^Ui5K)v#lbs~fuowpl+G4n3Yaka7EtuwKL-5+!OILAKKU5;CXn=Ge};Pk1kwMk=9gPM6pKG7pC z0I6+~>fM1=Jd6*OES~TzpeX4|v|HKkr6UKNvCpM7juCTnv6pvq+NW$@k*0|hLZHD8J!BJix88?HE@#g@SW4orJ0%#H~p zau8%-;~jHW8v;DF1#;bb(%V=9%e(=}^yx>n*tf!l!R$!yOUgrVCTzwxYs4|eLEEK8qG!tLS>=S=(qya--NpM%;2LR;r#Vt~$c(E=~xj2Tr(SQ) z(U{vABL}@H0tq7sNmkAeO3kkAK0xX~8RtHgHb5KmjP$BwP}ABu@-oWDIqW`_m~Bx( za!QbT=L6QH)o-Jj1c*<3jM9lUCy9|sBpiJ|&W%Gjo4B~B?gx0}{{Wm0;m}qtZREI9 z@!^5ZF1NW8%B*vcc;cH`Or}>^xFta!Kb>QOI_@QLlh}YYywSGex!czV8280X9RC2i zJ$71x<1t+le|Ssauc z5T^x?p#K0mE)U+wZf1}yOYo@+lY#swz47@D=A&?`clmi-W;n<9_We)Fmad^Fyx%_d z>Cj_tI|0)k)G7<}7!|JPQt+I=0{LJ?4{@B9$98W204|<_uNoe%((4h!Z}BfyXI!40 zhp)M+4}<0xN`e&RF5|m^2dU2hdz@9%!x1ze^MOyWB$18Gk;vqJ1REC}vPs~3SJq;pvz3q#+(i;; zsRT~iY*D~K*(KAs-|`2y$$wt8Tb4VE8;sk=jz5axMjmE+?d+NL$!~GeuJ?A0AQH^V z%)f;f7*XsgRmPt@j9@^E!6e9V03A=T9qD;fk0Xh#Y#nyVaU%4d;C~2T;g6zqIdj8Su(i@+6Bx|10whrD zgXRI1b|1_KDyM`8KaBBD)FZo+;%!G$i_MXbC59E-91LeW7pWci9nDVu&ijNt-Nc%` zz22#Q`o5uc7`>Sb$15q@YXIcT7qB0|Ij7yOLr>_l1D2a9WlWmcOZWVsN6d^aH=nnra$(g||dDh{ojrbX;RU ztpNq?n3J@2 zUO5LpJ}UcVdj-sq?jBe`TWC4k*RQGn09r0Ju#ref0XP`vu^fE3&*xtCSjv+p9LjaK zgj!Tqn%ig!0a5BbyY#DOkKl+RRggwDuK;6^DfB;Zj@?S&fV-EbN2vGd)6%t$`bfWh zY)6$N0^kqBp2OO`xSry&Whba!pQb?4x3mXEyqHxeFau5=0ALb=;LxotU&5O{{T$WYbB1>If*$$8C)C?6p^1} zkJgP%7=pz2ItH03o)M~TxLg>%{{RY*W{+Xn9l{gAmKHk+KaCl8aPNl@+uH!vQ^ysi59-Xbl1;iT6W+__au$D9UCX@_I86W;cU~&Hd z?2h9>Vtx#Mx(d5HGQa-?+L2N-s%6o`fdLhj*PXG1GS#0~Mtjqpr| zjml5BAcN3?4hi~_(Sy#`13L-l1$Zi^oLFhsP)aTEk}tyQ=yI;7qbc-1nB*QscoTLfx{oyWp4rwp zSW6Ux;dDEd*V{jdeN>Et=xWiX>4_@?8i?PI-Q<-%>VL8P&q`UMY3`@W0J1x8Wn;l% z+H(;&{IwX64Ep~7 ztxi-vcDCcw9WhlP;sEXitV(3IbPlLlNW%`lA}i;Q8fo{Ix|_MQE{w+>OuK;}Bh7dH zV(Lq1n3$ZX9Ty~@$X68c&FziEyVc|lG8@c8pI)N_^R5TR!m@je`X7TaSKxO!Zm(+~ zkX-FMl;;3r0-5-BQ>kug{{Ra02m01l;qK>>-G)N`6XjzA+>&TjitA6jP>R7^=acJS z7C=+DPp`7ewD%ZzhQc73QV9d79V&+|t#fAnUPw@Vc^ubBHqlE4`Nru8zz5UiRZUk# zidf~9SL0lPj@9glPf+yvg8NK{+r?KiG-0IpPz(yQ>00t$5Q^E_GJiVd?G({(i2?XW zUcmcP4HH*;5(eXz_x|*t`&*doxE05=POB~Bd1ZmzPeJeVq}M^DR*}vD=bqF(jcCRGvp~P8QyiLr3mvD-H(fm1Wsn|8|mGMS774yEXXO43ct17Dzlg8@$ z!&Qdb=GCA-7C{*Fube!61KR3x#}&GO4tN>->#Br?;(WKnumZcprd-{a(Su;0LCK_q zNxaK1!=8kiY9P9vb|qMW(<2p&yCxRk7|3k?9CB*(KRNTbwC|Oyjv_nTl1llE2|X}H zddA%@*cT@UfH6^DX%~~ag@}QknC6{mx<%As0|KLr<#G)@omG359UfL5)r7oO_HhuL zfGIWI@FUJF4?QtfIkX$gmjO3yJPtWEh5I?xZqWP zpbYfSY7uiId?PtL^H-DhS*yg`jk~Y|AmY590=$6YTXxS-3eyg!80rH2Gdbu=WR^(D zmh|gF!5SpHa(eoIzH6hugqm2wEP2T1j+7htBI!=_iH5p30(@c?N0xX=jK~^(m6Iv?Eh2ztwwN&mgo($&=KH+9o z^o%6?BhKbH&MM7s6I)1Jk)FP^6gFblbh|(uGgy-LP3;+z>q^LdQ^d?@RMo=X_DN*I zfq{(s8isJCgD4=92_$2h&5xD8aU|ujz|9$|z_68Kpf-8utte1x6UP&IkWSuM1h7zj zJ!%_*-cDLf@yGsYwW?ZPX`~p{k8?>czzWgEcn28u6hMM%dDU45&U)HsmP9~!&QEG< zeJBxy$!}UkYQ`V{Uc6?Ru@@Tvd}D$Kdd!PV4A7-9@!63e_?205JO2RUj(d}8iV*xK zoQ3H{tX8qxhE+cg!^s)VD`~gB(ndSvcBO{jFylB@%-iphNJi2a=dZPFZ={p=ZP@e8 z4JO$6j|5{pcCAunEA9^f^F_2CYESAh;6tP%%M9G|YkNH`U5_v}2n3&{1dQ{kML0R= zJJp-RwzrU}S)uq(Lqg}%97=ScyM;btk0@H*#~c3uH*Sa0n?IQmMiJvDB!Sc#A6~S) zON5xh#T1e-I#lg2meoTrLaUBXIrkI{0Rf{jBVl587Z z{uKxHrMi3#G;J^}K+ZYiKJ~S`dDn`l6pmMq>q;Zta2=V5zc6d7Np2-9RFFR*Tie3W z6ph9Z^T6xPJ-Ui0yzzC?j?l(0Lugw;~?{14qJ%jPfv!1DnW3CasUMN@5eZ; zmKC>BkaBalf-{5t`qIefXrCbRJ09n?8648c0c?Ywr@8si6(jP1GWdr)?9mQMVh1LK zw$py|E8SeqEv=ET@~|hKyH$F-BG$slt^+eIIgF0}^486g!ySM^Nj{Nh4jAJ`t9Ew${9sSv*X%s zSU&LpkVg@Tr95C|k3FhSGYHav8BvB^lkvA;2cYYY=NX~xegpS--rP!ZWE-=zcgY{G zy@0bBMX{1N zR|*_pJ7jDK32AhQg0 zIqsvRPjFgEWL0Kj%txs|=T-enO543rb0H)GIp^nHI(sOBVPFb7U{X8%HYOR6ZCoA1 zo`bDHlN>O{a@*ZLPmB`GMna5oNB)1MDw|7}YcG}#SacjMnW$W)B6%F>WDwkpI1Q_g*}Shv&X{{WVm>N(F*jw;;xVG6PB zZcra{)1_|~j_ER%Tm>0FGyaqTY{mzOVz-(Ikson8xF28AjYuR|<=&uWdGy8)T5TPM z{BA&7amWXz06&!(1%k1bJTXFcpHMNJ{!~GEo+jdJ2wkEoLl*>W=g@SgmR2&g+pC6X z{o*7k1Haop3-;ud)JwQh)BHDSFGwce|O(&Z|4Em%advA*o=UFbz|2BiBY-tubudo zLR64v&}b9}0#o&5g-Xk96f3!gSO!ulex$Q3YvsgbV7VA#X~Y7`c(%zTauI=!Mn04@ z!Wfv_D=)>I9r-_(YWaMen?7gJV`}1KMrp4jChIu^7(J>DV$Lwkkqm-9E;ymu=4~G3 zv$>W|dVfl2*J*JIor<{}j`gCMcKMrZt+;h4nzotc2l7WPlGyAjpvgK3WlhHfg&=Ti zr{BfDa+U4JHeKn;N2Z5To+)gec z3jx}Ll6?oQb1NvWZ7zhjjzC^{6?0ug8$BUAW;NiJ?6wk<5LxwG($ z&{q1a^EoN-ss2&gmfbWl%p{Us%zG2S`c&4~k$?klAbhA9dEy9RRAt*rmwmH5nJmlH z^HdKVXwcnCWLS>u=K*;px(1A!;`mP0UvKxCN8)r(G1MtyIONwuX&Av1nl|LhRmT&O z#o<`XmJzl)=daR^i@^T?cwzgK$E{ePF)hZ{k#n90V^YEG*@>9s@{Mf0xh5e|lLyjJ9onnA_IAgTC8OPm#A7Amk6F zH`8|W1ZPUBocl{lOaf4391)I{(fl!MrAQTJL?n!K=~NrNDs3*{VN?Y;BRo?(9Y*38 zM~(1@1Q2OH>}QzUOv}XV_TCrLuHyJ3OykpmRo@YPp2EoQ3_Wv<3Nykw@nl7sLVIJ@ zx(Jru@(;o~cCN;pCUm1Xd7bpn#QDnW!ve-)&l>@r{83tNmtl0_9aNFpx{ryxH66rm z(I^DxwsBm}dl|HQvg@>9_cfU`=Mmh!M<$^)0-L!vhr3NKZaHC;FMm5?FrhTDZv$n+w$7b^@F z1(fZ(8*+LBTA_djWz{i|_MN2MC`C8Snk-1<;n-;NL(3 zl~Q(&hu)Un&wD+wc8IPC%O9Wgq1rNJ43K}Bl=0Nw3z;odmMMy-ah~ReZ9qJxA&mR= zr59~|5Cnz69XZVvq3P{)Fc(Tg5DEf%{#|O5iBK0Nd(rg$%^X=-zcNgAsQfpL&!#=A5PabbO_XqC`gNmS76ot=_4-s- zR(Dp??2awUbC7A)mkYsaC(bjI(}RvV^`ma&vN5joEO-Rtp{y=LaSZ8z9LnvSl3TcW zAYqa@$9n4;40h63M>zv50R)Z>bF%~!kkK=M4hBb4^BtGL>Cs0I(GO0D>d!y?fddrnk1d(>FmuPS(sH+Dqhnx);qxnx)yJqYy0LmNu_L0lH+(yw}+mtgZepA2P2 zelL2jt)i~yW8AiJ`Bzaj2t@%Cn`;5{hG}!oV_PWkzXXCgBAMISn<*8g$Ru>z+uoOW zdA{qaMzSVDjzK*!&OUW$*5p{E7X_CN0mn`%T(3`4abtX*>gof2cG~3`w>ER_?Mfj+ z>QST)PdFo=&Ya%txYK_4j0kX9N3icpG^P8*N>nN5B%Tk{SA$aA);Sfq5;DJbLjF?i zTmV7qQrl{_gZHC}>0zJn#4O=^G)fYSlaJB0p(`{UA< z!vk1I)5h+X6R8mK{{Sj7NHPybJgWO{K9oR*;7@u(bw`lu2Flg+>v@r#hTExwXLo-s zJyag2_=x^cGaZ((BsXapI0cT?Bw{{47JIk3;C7`@LnXU_?yLaeLiF~cE^K3X)yNIJ zfsMs`^Pb>!_cTgtiS$||9-U69;OQR1+`gQiTS`@@xK<&EAL9I2_88B~yAOx8bvE(a zTf|hz0a)X}z&vkaJDzc$dgR^|xwh2pptZA)bZViPMhPvBp-JIapxi+|gNo>yb55Wr zl@;Ybi3!;ZAmHsC*!~sI7zft78df8t#FID;!I$ePtl~vWM2xUM5ys->dz0uh$7(6J zvB`a-sb=Mlf2L}?XLl8m!ppgU94Nw~kKqLMKi@RU-&v3aD{B;a_<%3Clh~8o@!GmR zpsF$*q@E#-XDo!4LNa$2bIuR1r~4E=%t14ap^qmgB-S5Qm4p51RAYsR4vc+HdixHY z>M=QB(n%)`#uKOJJv|3{0$0TFQ|2$c2&GYwZzrKVpY}~9lF(g9WS4P`NzXV8dSm6B zQ@L%#lahyEToz`)$E6W9tWYFSK#Z(@Be}UyKiR36Tt0-W&83)?k`?{y0DeT|(%X$5 zLiu(Db|^uQesS+t7PNSa`GAb|&vJOIHkwq%nNsHfXOYuAJ*f=030TTe(o91D27F*~ z)8Fa+swu3NIakY#h*0MpI6P^auJvT$5BvR=<&h>5te1!j+_cs(@}%I zWlglTh_sFZ;glYI=!<)Gie1G>!)$E&E97YV>BPv!o#0n(MO9RMIY<$2?d zKec+fp5)E#BZ&bKj5xvCPhRwFHbKKK+_Xb-78oPA=k(1_V`2&wl;PEJxb*~oztWi{ zp$vdF1u0E8&FSs*JIa7a@v4qAz2ex?!^T?|tBg}T0RA&I3_Ba^^lG;b* z;X;G7k}?M)xXG~Sup2jP6@|Djy{}XoPc?PLAc7=<|U7Lat894ZmQjJpU#;* z(+5kK&k}&dgUDmS82RsF z_pWiO>d9vSj(I$&E>D#d&fB6{i1>2dS0|2oXQfy4?-gp-_uq4#Feh(?UJ^1HdIsou z!!L2j;-|~5TtcNWh_a?d#UJu zF;%@UQ@D`tyoJ%B191Sx=rjC4i@ z#p#->p1G94aHV0A6ClA>Kf95AnMcCj#1ZdRZx~!y$qbN52oft|MA`|*W*v{rQw>vC zw}CdulB6?W2_xl04)`4psN*$SyuLS*q)&AmzjtO(U*VBEu78*7$5wYMdVWX`9)*5lY`QQksjtI#A+9v#IJ8~ zY0TQx9!XXT7)RC>2P;fI85+(cr^JJAKoiYoY%3T^M!vK~tJ8+ULuI z%VGnOkO=SVPIWy2l4&km;>LFKRl{h0^UeTcf=?Byr47R@t~v2NGnIccmvV88jw)+A zr+I-XfyXr^<*M35tr*KUPCw3;iLS5>!yZp&$^3Z z%{g{O^aPqC!?Ma^8Da<>YAr@aH$GB@Ae?<_;J?cf0OQo+R&TAHB{D8^octq-&w@2a z(sjGtJ+K6==P%cv?^a98DB3KLSohn{6;IdgX45BwT!Ip&-NML7>NCOq)f3|&%Z_Cz z3Gq8lnKR!YEDka0Tiio?tEc#`=H5#gmtZGuYlUCm zOCG5;xWHU=&!Mf&g2jpLKBsH#K4(bLb>@xNV{IPiB-c*Rd_WpCGDtdf&r12rPSs>d z2bnH8{Ho`tc(rZRLL38(lbZIB6lh-%A(rQ2)_g^1B0gfc$j0Rv70!G~saf8M40j4x z9D|I0c%}E=Ah~OHEb+Rq$z0(70Oq-NyW+X6uAGUR2RLKf*!$OI&$fK>=Qx}{b>vrX+B`4{0Hd= z@g9*7WGIR_$>yQbQKFo=L72uk{sHrp=oRPd$^bpkVqZ98)Hinzw79oh9j6}(k;&?QRJmLBl=}?1 zjXMtK`_ik4jOU{%SGkAx13^Pnv! zdF~=SHjt$B+{(ns1Dj z#s{*JStMP!-lv>@dY;F`Iz7P=OFUq?;U)nXe2@Co65Z^?rbEd;%=L{%TSDlv5O*&i zcIS$h_(i%G8~j5vS*n(g6nS|;Z7EWEqaNQnO>*OaM|`(De5q}X)bd;#TX|X4e+rY3 zDTT)9p(fxR{S|#$m@yO~OqJ^{LR3iYuGz0V;Ja`>FLUWk?k}$O6l1gpe_UPsC68QDr~~B31(`P&EmbJF6`t?$-?>@wEmsw0rwd zz7|6yjU?>i-A*tY8`yPK{^zhhwT}^M0^@(7`mEC>K7z){!_K}YGDz1%RE-y|S1 zF(>h3p!ONXRV=TBd6sXDiTHC;Nvp{0(4hq#fg~Qd>GK&srBCSisPO*)DD?P&i^y(e za)=C)w^BxW1L{cteEq9yd+4tvk5Ha0GoOf#fPV-B&~zTcm2G#0Z5#z=B1s7tIV0g7 z*aV-OdsYg4+7^yES-HxN%krZbfHWpp7RFh(MKsZ@V{IE4z|7Ak*I&Tfq*uXQsrCd>dcRjwE-$)1EJcVLd~`B06m z+`BZEyDZ~#lXG%#?4aY}ANe&$k64~*qc(QXK!w$%)TWPiPIw5-@aM4VPhn2%ps*1Q zOH?we%1HCBU8R}V&@TZ&KA0wqC?G2Ruab0y~ODD)}#Q(aPy^K<mrPEivNI}FGPWEeO;g!ezvw->Q_^2imi zGC|#(^T4E$>JDt1?ng2|!Mu;+BbIT-#c!Kp0m$;8Va0Wc^H+qhl9Y#e%aKhdMybHMHSQE=nG>cA{b^7$2Y~dV~0|tVC^c09OJbh0)0x|EiR;0aKOVG;R2v; zBMg5D1Rc5Uf$3H$H18u;wv$kfdy8v`U80mA^I`@Qy$JR^;C0SLbDulq{5^5~=Up)- zD!$+rHkZ-J(#5OZ!yUsIS~*J10T|&OTbv%i@;&Op+FIMSy!Vj2PdVS_!b_^m0LcS6 z0frA#oSKhHHWwD=3&^3pf<@WBAQo-JXPD0<=bwc29Wz@)sF;#XJ9nFA>BDU-r>_ip zp~gVS!8{tBaj4~tV`OJM32s4e2bSNo9X!a)i?((vhw1}Z6cKOvm|1JZIa# zYImnvNiCwl_*Xv^Qj?rEc~Uy4IX@%wG`X}p6tfdqJQ7L=!Y5<2@UU4 z%x+**C>6nB(3a)(l|W!<2?uLV!aQ z4A=JR7y>XoXVqR@fEea0y!8A4#zmEM~r-B zWeiQ_Pa8Mz;N*&V#H4d1ZC9iTW5ikZed4FFOPvzrpE}w@v)`Ui%B{0pK_p*$6Qpu5 z_)wf~{JMWi;M4eoX&xjRi69G<%X8GxGkv1m%^}R{gTCX6ZY&d&-w+HopA)BQUN{pc z+@>dZMogXvBeAZ39pIZ&X(Zc{J#$L$d{=LCYG?D(Nl;@s|TC2plVn#SMGDZZr5m4}!m?}%<}XUuVLwsvF=Vi2h68eDd8ODMFGKmu+!W(1ws@6KsejFU9+yFkEqY-gJ2rUWUx2+Q&( zO7QWFUCXG5i$ws#p#zcLm})w$rNzq2Xh2rT`PFMoxSBgD*JjsjgSc?npsd#Z7XJW= zW%8Bs0M8lkP&OUJ*_En)Ba_6lO(Z7FU&Q-v5d1)KTBOb7dDES{#_niyb85D7c`PJp z7myBl_ob3*EdEum1qThyDRGwKLhZ4r#@1Gl>etrsBY+-2ne{p5jnBHA$Z0R**3yZO=UX{{XcMovc1l+I=JC z$w!F{YjGvA+$*w@yen`A)|6^}H`FR~rb5@1WbpheG)?vdNU*0kd<#^AMX1JMG6zdev6IZK|m~kw)c$(%Ku%J*-Pc&ln#N&QI2+pX~ntSpAzE z(gcPzT;ZJb{`Fe3i&oQITw5Er$@q>K&Tpx+TE@02~}(6WsgLJvSChb2W;T*|+tLG`F|WZsj4O-rY}92Vqd^ zx{cl3=17wX*pvGEP}cX5sywsczg|b>L(O_6a}yEp@c8xbN9XYn~rgV{c1~jBaSxR zwMzl+cr?v|u3;6#dk&*@F%rrjF58=TVrk+)h7@TPi%Lg9+qEXqZ7y|K*UHFT<(og+ ztu_W|^$1~_6_O#2ykpbrQk2b2>MHv^CQ7^L@MFBb7X2t6np|->BRRIh|TS zu=%4oEXR;B{{Ttmtw&U~`>ID4Rd)Us=BawT&2p_RqXd#kjwEHt01m#~AJ(NCi*r7& z9yLS&2%0Ntr?CJtBoSSek9qjtY8)PLIV{H~98*0%#TNQnJ-w@zDgwKe-JEt_$LYlg zSsu}Bf%B#F_T><^;>(gT{{U|%=}|74(MZ=)N?vp&ytO0fN$9xxntwhZh7JvheAE0v zJ;ae}7xN@iTdwF8r7}p1*ac8R6WAcny;$Pb?-KfXgs%j4%3Zdhd1T$nf=+z3#xir9 z1I==+KU+?ur6NcXVY+}=5k9042wOL?p~Ss6(gByhXGl(#@A zmCRFPu1vUE-fJE*xZK;m;!l<)mB8~3aKa({qq_iddz!de-stvL>tzV@yrv|>YI{Ea23x z&_^W5Ufmx!__{yp59Oag^~ySlY$wdIo3=}Jl%nrY#~rtDpnv-ueGM>qzV8x`#L$8> z({mgQ{$n3nuSYCU+67rbmtw^jZcgli56t5~_@=iSgh_UgsRkqN(U)X>pQ zjQEVw?p()lk`W~H7>`nZA^j+(yEf!Vm?76_0C1!d4rz2uzq8WUJEU^1Fgk&>*jTuPDArGbwKQ7f5 z-V3AeU{777jzCk9{{5;IWJm!Ih|EJI^#=fF`cd7*(eo#{3wJs4*>Yma_R01AC|jA( zNWnl1#G?S*{t$TjkJgCtkzN+vhUHL>+-Lg}O7&R{wbi__rNe=n`McxX;1Aw9f=D2AVhJPM z06W!^@K+z$+~NS<7gx)xP9$RqfGWdjG1@Qm}#OEu*8QsYdxS1_-g94#OuO0W=BcX9E2 zJbL3ItGCzhsw7UePj-cntkRH5oo}l&5YPIFf-l-!?J3%;<`9$EKF_)vEKNNCc9Du|& zI#Z1&N0Q|xytKKF;nW3^DR(GtI-K(xd*d8-s9Py>Nh|b%3wX*a8Ks)(ZxpPsNVwkS zISPls_`eDGT=n|Zvq?5~afP=B7{QK0RE~s>xIa(nLTM3R+raG{juKe5m~NktRAU}) zNa~$VK6Q(|P8%72dufP{OCDJC86n3}^)$hZD(*35i=CnusBgBmGTK_OjIcghfzpK)f`_(}Mbp4@inOYUvb{^-qS>ojU|6mw~ z(UJwu0GTqQgOa3ipOLAF4&06-fY`JAR(e zbZ9^3Fu~jNAMc6>Nixnn*yV!i6UxX2^-xCyWM}fDZW?iJ@x;P5QJ;-Y#?P1;f>h-5{{U$3OQ1j|I2tuMt=LP56{3(P2;sVZwH}$M#cOg9TrXb4a%(!B zs7M%wD&sr_#Z%$Cx&5F-fTF7qI+}d|0f47^&1}MGK?8tKLTaL$#}ZMHA)J}D>Do_+mfelS3L8|s zc`eBb`^ez#{{Sj+sp#=TIcWT#GswUn)~o&@)PC=_$|!+$Az1onVr~-jHgZBe`WZcJc&LIjZrk za%VqNn`-mflX$De`mOe$*7|gh4YGgDkT(SS3Z`mW<<9>A`Hzv&iOm;%Z+qqWalW5%o`m!u{{Tvw?@n?HNZ3KnRkK3*F7R(NtZ~A3Z)}oR*mpJHck^%`Wo_a}+APk6 z_+H=zB%J>MT50z)rkiVX7+j&0vFZMG5AB(4;fe@dkQ^Q4{6r4<9W&@FOMOJosZDo! zrHMe1s2Knbymz4`h~^F*q>`c&cVTBI?@{*>0U#a)L!#Q*wx#8e4&Z)tT0v}~r-l9* zNE>@(`%sp#{mW8&_8Vi`N~s>yE65_|tElb^;whs``63^S9AdP#)1tMpY33((d<5__zygTXH4rWQkXvaSXQ%?67JyL{Dttd=0LHkoCWL6JEZ`cmW6R+ zZHXPyUl6e<3ZMnbuTk&sQp{zR7fXgy@nbx5`qs8_$1FnFF6U4jsOrE|fT3i`Ul`1HDTZE7RggCJVg}Vd z<20!2TBqNd6}NWDJ2~^}Af!Gi^J1f&4=Utt0Vfr(>kETKI0+o;#3UCR9HT zdXJd*qYGWzNg+eESZ@i`kb56W^_|Yt4|8m;LmjF{GuyAFFBwIB^~cH)yhhKNTky@) z_nK_hchLE=%5V=Gke-Jf#TVhtH&dGGTWh;=A{hgJ0e#P{Gt)HNYkf|8(#p7h-YO2= zMh~~JtA49v1X^sGlx!IcMoq}PoDMmo&6RhOqqz6fzC33b9@8n&Xts9|-R$H+I0Ovf z4$be#`f*kr8aoR_Tf2yrnZF1lr==;=<9l5b&)ik6WGX@aAb9??(@ye0jcy4G0*<{n z_BB3NCdJNT-eLr4sd$k^p-5tbEC&oY0=e$Ds!1=F^4i9`AC`^t*W0CZJuz)H8N@FM zDLLDQKyY!;VypV5iTf{8n$l>Lz|0*L zQ{g_GsV{-=-kRK6Nj>Q>ous}_51{E+ zom<1Yb4I$9YN;yYIO9K0T9-%g=AY-gTzP0f8N_>t (1xf|Z1Ea3`hnw;|P>ODEO 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 QJZPx# diff --git a/vision/images/eiffel_tower.jpg b/vision/images/eiffel_tower.jpg deleted file mode 100644 index f4f8152da62bb7f176103d8c59b3df09b51930a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166192 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 diff --git a/vision/images/face.png b/vision/images/face.png deleted file mode 100644 index b613a94e345a595f533838b8b971054f308f51e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468575 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 z 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%0A}R&)znoO1jLRt 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аF!wVE&zgq0 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�^<0kD{{5)v-GRb}$hX_EC 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�dgKxIoqdfJ1p1qHU&XR@$I;lk17+M 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


)HJFA;`}G_c%XEkl3A>u1ukX1$OA zzOBggzO2*;EF)mg=8AlJe2J2#V2_^(0EhRPL}cWH8N9iWkJbEG@P|c%cs9a(A|_lP z!5Z#!URZ#ll1jM40lcty0rXZgk$^d}$SSoD$}#yJ-{13gax$%7Rw>3%;AnOLS$7gl_Bfh8<0Jb~)Xlm3;=Z=o9 zdlvW65m;1f4AQ#iqR->`5XI%S^q;hd4gh=q4CF=R?Q;PjcMR+;B)<8fd?5*iS^@V0k%O91cl0@l?*7msd*>E_?GloGL>CBvO}~BPlkH z0G4hFL{YbiyFDvL|W(0l>%5kPq};LrTGhyyJ`&*DVP)IC>T*N2hVFZ;ZU)VVp}1;Zn~4E_J2IIK^U01B!I1*Jo<=EkEq@tgNQl|Od>QwA_96&AvD6Ju9GN$haPVyvJr7Q5OcSu z2|yU#KE*oe9O9@zhl|cbhYxYP7fGiV-9&B&=)V{YB``wQ-eliloEYR3$P~`?(6Q#SBEoSxPHeFd0_|?}_tC!YUcr}NeuA&R_yB+U!<+cx&+p({ z^5VHQkd0FWY<&9>lL7+q#{}Y!3HTooz(4ttjqg9C$3Mfj-+qQ~hyZ*;1mN4RKENW{EU~j*#i-<8pL+2>{decEvuGt&?c0w<S)xK-g-%ieOV(_YmN(Y*mwY-c9xQwN!onN^ z>_TkXStJC2EBDuL*(@YL3iO_*mwDPfW(VmP3NA9_Q2xq| zYcPKN2y!>9#@4)DcxlN(CFHtPAwBbnOf1M%x)nsVaH&!h$j5@~3-S&WlecF=t2=-# zdy5F1Bd`S$sL@%a{cq#Wy(06hC9i|)1y<5`U@eA5s|#(>ZZtU)*j=Wm5=D zkYBHtDS~Bct8@YEEvO51F$+5jtkeyhiWI{N==)M}_q1_6H-zj|@WJkiitp6>H!jsNEf0DJ$e z|G$1S5$5HK;dR@wh0fu{^IpW_MT=xkz=B1}Yj{u)O9iL;2FUwAiK!FkFn!`8PMp4m zGna1Q{G~fMbLu*I{xbynXL0%H1zee&!MTx1oEtohGpP|F02jLlB@OUA0l3oHDI{Pf z5|Ajsi4b|UK^Knr9YO*QxvUs*wW6PhKvye+zE-wLs|hKN4A8cdNB{$SfYw#^`u%h~ zcpP!aM5IA)M5nO@T_%&vBVf`HB@)2|z^AK)rM3+A##$i&fi??~S{I$$J_7#`lB`cb zfUl5%s1SfS5#vs$A3a2V`-lYh`TQ89^J2&!!y&rnrcx6)J9r!y2TtH>-wE>eC&Vr% zM{%`h7&rTe@Je4lUQKr6ZY(aj{<}lnxINH~>w`&L9!%i+Py}xsPT;|G5+6*)XiH!` z5yk0*nZ8FootI4*A012{5p?{Wn9uSA6)urXPwHE}tZlHW7oq zvJ|=VmtgMP7ch6(3*>a{gT9R%UAqoWe;X`zBOERZ%&j`v+N`vt$677qpx#9PD$=^zev8U)n)lWGjcwZf>_ z`1U|tjsBR5tVwJzp%S8yN?H+$w!j-E0uV945zwL4sTT2`OeX=iZ~2DK5(zks-3>M@ zB~RNKn}RcXggm^cOm(XwW?I@zpwG&Ljm;=-td*!h6)gbu^|XlB(|&5{pf+!TzBU`4 zk~w&LG9Ul@qd5NGf9k`({*=Uj`8h=dpqIS=6#nZ^L-;TMVI2R$i!d z?7Zw;@!A=jxuTstWhMZNR;-ttGKc!}^6RkcAj{LXVrN04L}^Z(q{urS??Ai_aBDJ?5Yq9@$Jz~6OIwxS8Z=?WGV z;)1F*8`jHY$2MBLe!FZw<}7{@i`L{~ZthY^H#{#@%uxmTJ?Y{_CNA9f%>`UM{*{4( zWqgb2_8u95SfhvM1qRVjsPa`j)ubMU{5|x4!X$WXK7#tca9kFd)wRn znETRPw9>+zO84nYo}E1To?sVx2y7YPMHomtd4&i(vtQ@<*+UmXz|Rp$P$C9O6+h1a zP{=@3_R|?j*B3<6lEN9)zvt=*6!9aa)F|16;f)3yT&mA)>9cw9Z?&Q04;+3=Cjocm$`8p2n%kv$%BpD(;-SjcX@w z;M9=|I68V7rzg(i+SDc796yIEy;C?(9`X6qA)F)ccP7<~v%Ni->FW`7yQ_5nVpm*p z;pY<(ob3qWbR>x5kr1YcNKOWVI2`q2q}_o&r6QaeKbf2uu9fFDLb5y=4}zaz9gMCbmfKY+t@jj^JkRVZ7Qmj#qnzaHFdS*ONWC+0&0podJ4|0C%tpudw$&*nxW!N!;!W;o-3X ze0V&Cds9hVnc@~z9etlBNnH;{G#Dj38YA4AOtoMF>WG4c+ zcrqjaevJshjcNM4V?o?K6~+CtaooL-r2nu}?3MEg+QxBvCL(QvY_Fb<yerEqaO0)7>&6nA3N9y#YF{4vh_sl48t^5N2mKD`z2{PjfJT z;WJyb=<|Og&o3Yn zGJnZ$WnXjY`MLDmy!o`hx%9rdFJg`Y?gk8Zw#eM$;jUHz^ucZedG*i0KSKZp$;)RF zFc5E6tdna3h)Kpw@Q00X(VxI(Z`Z-%(xO_=3W8N4G*nAoi)Y|89Q_wiW=>$~mO|L0 zhvA4#KZXNl~OoiaCKG0TKj2kVGWFoO7mfXtg@$^wR9q?%1_n`wv&y<#MR9ck9i( zJa1mVI5Rb~UYA|#o$+{I=}UAL4f@5opbL!_gu8x%tF+Wf&c!k zX8a%j^Em$SgBkq4|85BQ(JcP(7gP8L$^O6is|Eb-yHof-|9l4j@o&Eax4Tm3gV|H3 zGau*o*^_2Jn^|(Ikbvz1uq^Xa18||BTEL|i`9<|f5n%T53-Wydy6gk$jHl&)0b5=O z=uu8E$vJsJ)%!yvUOzQ`KX#>= z61_c}%+LixyRDr7ETzluVRb+k{SfdsxezjVKZSNA0DLZvL8%9T5Q=R(Q%x%&!;BAR z?mvX={ki%+lxSq{vqXlO*qX9aFMPW6hwX+v2avV@xR9Phn*Foopzl)%1^>Rx#9l~C z!SLcNUd-Hu7bM$a`CmywnyENY6QBeoX=t=ZpPK~ZSl&7H?59HV#T~tH5w&iQoI_^4Gb=aTDCkX0pr$jx zi-ovWQKQ6xI{{c>tCs&0&4Sn-Dz0u&vOuT6BSOSE?;qxV!QMx0jwM0eD5?>Fhl`9b3a|GZK@_ za(fOhk4*?Tj%vIzJ|Y?MC|(_jYrHZP!{h$2j=w#Khj6zqjE!gr%dr3!LVnBzyqMv1 zfUg4+lBtgh0U!w&mkg6J%E~}%Jx1LQtrjRzXm7;2%s(q3Iw7@5O6qtp06$iasbrV8-h#Ds$Wdz1Zme`)|9%nsn) zsTkg#2;)yT#_+H2OyghOpT@^`CNR{~jM2DTh<6P}qfJ;GY!?#HhS@|j7Kd7~Fw%zQ z@pj$l_h79@m-;-s-Hk^Z0X(_IOg@M=@ATsB+r4=2UKk%el5GE#ethzp{N5*V1^ag% z$nO?n@YcP!+!iA6Xb`Wj_u<2rXYoW{OQfd*M-J^X?va^k8Y$^JkaI9c2_&~n?w0G@ zey(CjB?B25zd$LpXXm0P6^O@h@iM?|F zzC9_(*)6w)NM!F#k)KV)p8dP9cb^sV_1l;ua8P|21`BYb_=@9LK%NpxYTyqmu z4c9gMANL-_U;gVp{PqW{_~Ivv`27zi@cZu$;}3s6hTnd74FB}qQT*HO-aR}lV@?5&Ur`A>Zl;s)Td){)?yr;MW&4}El1^b z@n;VlKcmJ#^c9XBq;)`^?JVgPOhbHbcw!oC?U=Z=S~% z4YDGlj)Z1^09z5`aE{q!Q9@f-_t4vvo5*d9zT0tvcPL77qB>A zSc>ARCR{3!bEM9RD`k~9C)s<0$B&ZwHr?;w?j2LrKMkGwrq|KjJ%EchTX3n;iF0!Q zxl*&hsnY31@8FdD%oWW<%NtwZ6CmT-S+}3?+Yx%rob_+8X#jqt!2E)?AmLQtSffVkPQzQe1|koel7N__9x99xY;_&x`WH(-w|d7jWcAE>530iTwOiIDdh090diZQCN5;c`Po@Ls5~rT~wHlYenbuSX7jU zYuC==a=|GS6rI8K!gDAsI*$@LUN6W;aiRG>zsD%NmZv|X&vW%Ou3kEU%jb{cxp^f3 zO_(2OF;xIzOH}u>zdtDifP}!107C%g2b+?yATcr0ihdygy#oAQVF&!-7IcQ45*_eG zx>48Brd#^BC!p|V720BR@Qgn~+rTZnxc?k#d~vkL=ius_!lkNa6xG+`MpKu$_kS^l&%ZB( z;0JR2(G>pSvsdue>%+)7k*na&xqoKCnHiSr9Zf(8s6qhP0w5^l6;$HFHOc%7t8w`J zbsV{P9f$J^blq>JF6lX@Tl3hXXZe~{0QSmRj?R*-opbyY^J&SEBY2kREyens_HrD4 ztpJ>5E%8xj!5p2brvQ+GLy`dQ7T|WlU77n-sjq^(-KMN>p4(IaRK2YIOk>FNmGMCS zuFPy}b6}2=0A}ziX0p}>+hc&dpR@lI0FnUMONMlfarPdq0B~f==mqu~S3!A=Y^&_l zje>iu-?vZQ{+{2Kim%B9ls(^*i0+vM-g-^D7!OR1^J(myo^v@0g@Fdhj; z8$gm!e4|RoypEl@tR-JAe<`VLM1E0;t_eP0QjH6xbx2ID<3@u^{TpIaYiJ6@ak{ux zNI)}ui77-UR|R|=Iucmp>QZx{N~aqR0V+P%$x8+Bb1}}~Fe=I`;c0cl@Akmo>OsWU zi{AF`O-4Y$e+K@Rs=qsyH2*Q)0AXX3Yk{Jv4j2-k<#sji2`AeCBmidHpV1LSj7+ z-@k@&3N-owLugDq+iqwJ0jVY6^Uy1S@88?rg-Rj%9YTz5)U~N2V<0|=E&&N@FwPg2 zs0(1FH4e!2%_IRl9=~u^wIHkr@c&LyP~PlB_rNf&Rn_UpUxkpvtJlg@fO_IoKAf(0 zzWFR^0TLC7*}g+@G;)r+!v=9&b(Ap*t&frb%{{!_Q-?T8dx1cn({(Y|-_= z%=%y4vQynG`PpODPf2`grcMH!Ig^i>sRaR3!i zUnAN7O$6)95pJwPUrPf9U9A}G^ho$H7%+W*X8TnAGuZndmUD1S&SCcXX9e`<<^R4M zk!)YilT`u#TZy40_}@zm;%;2XK&%gU5(zvQ8WPeoi8p6v@xlB8J`m7}{J4;&A-8-!9P(L|WFSx{6kUZs-2Wf{+&OW2OifRBk1@GW zQ`61lbT@Zw;yXE}yPN6ejEU)Cnp4wVC-3L?H+(*i*ZcK)=FAtj`WMM-2HjNqLyE5t zCj#B*Xl4c^<3BUCVAqrU2)y;$UxCRW9x|%vY$R^y8$KF!nZU)n`*+LsY@Yh3%vf$id{ZFvR8p#_v5*!B%6AlduPethuUT%G%P+q&7&9MHP`VO$|yAb3)x_^(ck(7C)YQIirbKXL%P)-nq!4{Vl_=YFoU~6qr z&=5Z$Ya_+HNJV)6`roi6yN2RQCd6-nTIN6bR)O7Bf3wRj5gyW)E&UClae?eJ=hs44 z%%afFdW*Ky?Tj-zsORJf&4VmnU*YW6 zEBu;ibgWCFqKcPu1o}z38a=~x`1h}5)WEo1dVhG>t7P)aH8bx#zK^Z`yxtS_G}jEO z$+*j9{1RsK9nh-3QR(9|GoAZexgMfoEYR$S?ZKgyAX;D<+}P8Bk>Bc;QW=J)`*qds zDz~5jpP=Ewwk(Or(7r9ixui}RiqKV*vDHkK&ig0&sQe0`Z>UA-&2EFAcLWY{zjSH< zXO*Hxs^DJ|?@7(3$$nIu`j5>-ex07lCIuErbG`&y1q^}I2W7-E&T%Ml<`1wEuFEN8 z2RP3RA!b5Q2HORD_y{NRO)WaRg7{7L6S&QEbc!o!f#eTM6vkgMv*ySJl6;p2zeJ!p z(46t{`}J)7mC`Ye$!aTTQd6*2dyIbl)I9&VPq$WdIDQ$zwJiE&_j|ec6OM z5Jh#?3@3{vJ{HZAt(->|83Ynki=4+!cuIUn1%c@RC724r zGrMWV2Dtrc)DtVaZ@S7cFlg3E!ExK?c`IXc=$tnS4Zy2-{HVc}mmFIM6_$^-FfbYp zmbOq)Sjq&gAHd{Cr^D}ie1!SG+@5^F%6vHdee2^H@RXi=cr`!Nml2c@e;vD?P%020 zDDc&J_&u^Gl`)`MEW){xVBN4BN_&6nQb|w0NGn@ij)fUNlJs3k(B(ml*Hn_DfQQ1@ z_ttgyT$bil#`7AymVQCkZFOIH&bTjCk}~wQOY=tcr|q0>xVjDT4|NMo_CW=USd)5 zoVF9*w{+%cR#EfF0gzcmpd>9Ld3YtJh4H0+7_AbPPX?9KpA_0pf2+0GXZhZjbYXTp z8N7QPuN_LW9aW#l^yj}(J&5ti6Q7Uk;vYTl!{$!=1-ZLdgnaR+w!X&c{*4&z_HACD zWdDZe>T1mNJFQG(n!TbV7wqXdqYewC$D*Y|9hva;Z@~mO8Kgh21j0yAJA%hdAawS7 zwVy&xGpF=0-ZhZU{EAmSaCt@U6ZD>C;9kk9-JzCL2Wt zw3btW<03oQc-JAF+eRBLR&5e_ZdXCiquS6AF|+__HS znFnX+iw;ib0*wvJ|B2s(RpJbc*`p;zl>OHiu~GsTDM1>}h?Rc*hx!hGviD6zg?hZ7 zsUCm$57YV5Ogk<`+96SrrgPLX{9B!19U7E`{@11}Y=Zc#{;ZDL`gg+T)V(OE;j(EtuE2Dn$ar>hD zYlaxxZ{zG5f0SehFX^RnwL>Vp3OHqRwvUfXHFrtmbwzJ_NxAjt{w2xWuzkn*)~<6f z-T^W`5diswydjG*Vh?7DlgZ}`i!UO?e85uUb87S`+cWDP@pI(*L8HR-{Oj1W1#u1S zEg4N^u4mNGCV2a0>#=zlKrz6n@r<&I#Mkq7gDi3virHz>YEG7Vj7q2-^;O1gc* zKO%zaeW0Xl60|;O!p?q)acSs&XKgv2LP(&{_`d6=Jh{qDueP+)%sU=neqnX}V%wQ_ zBAx2~jiAsBPWpAg#R1W;guNigErbnoj;S#wHg_y=yLE66N;jn8MB$|`fgG4hZn`8` zDVhM9k%JO@x7-f{f9FEnj5v8Gqq2E2Fp5Vx8O<(26M-8UBXa($fj!=Ff?x`5Qgwr+ z5^eY^#$dYZg%g`m3i5pI2YTiRmc)1$EiFd1f!>SLuN%9clCGmij(DRzmU?QGyR&t= z480t>{}bx>NZ&54D~8CZA`2bgt*U+F?#|wX(IsfN8(S-HWo6Jz7*1-EUl?TZYLl*fy!UEh7Grgr_6I$9n z&BL}CMS!;#x^8X?xypaCnB=~%%Fgg6$IybwHUm7rL{fY{H`LsYLVK!mx_U)>_zu6>Rpe)%YYiOKrcRdqVTaIc(&T=8NG_aFb*`O|L7rO6V`&R zCVvDP@fcAlDIEJz zv;kN=W$W(em@U6GE(13UFb!(KH!$BSAD0%TxgZA=_oe*69BvxPkZ(ai0dtB zl*uwo2GxMSwJQHo-=8^>^uVR^kL3W34`MP(iL3l@?wU3onZi42oXTwe@S#G2PSr>} z{9P=b=|U%_;l`2dhhC9itq&>F5wwdwKI67L8?dHKvXBn{FDW$R1VQJ?NK1fr9cNkC z)ovG`6DnrNOs@rd^EL?LuLJOE3$OdV4sQkh9cM3rK)l7$H+$wwA@FYe8DjW=5SSRsLV;29eT8DTM(crfkB!~w1y-#m z$P1bsf{+^GgLi_Nf!FbG50cK1Mh}=Q00g!m&oHO-!}=6@*T^3y>mmxt;VV6il@I$4 zAuh@0x!6%_1i#Dg*~K(Ff-rDUM(FWGEkEk!fL7`cdILKlt4JU$k4YS?Km=E9qHho( z6xsVk{4vo~kCnls#PG3?H&~N$%9Z%sm;P--xZ36_^1sOvM^`RJq@JDZCzh%~bcACL zuWzM^Z+3ADO-Tj5O|?lVAC1l!Fb|n5GDy7PD1B#}p7t?9dZeVb*5f6)A;wr23aq-7 z-B+{jmN_toQ9N1d)#czhmuFyo<3L+$JTM0f`son7o}4nU z0nBRwbQU zgM@wQDoGgb1I`2Yz0fTi$VZIf$i|1JIyz?k;+sGn!p4WV`mvAO>hmN4GswZWUF|qK zy*oU?!Uv`$WBNen01Ega48J1JNB!Fcq~i7HkKS3ml`=^CO158aSCyYz3MRC9nU+?S z-%|KA<}WU2->trt6H?Fh6hTYq?$Kh0JQ2=W(yZ=YFd0GUt5%11)yd}9)tU5c*}q{x z%6NO@wYEN6rO2`NP-;9po6eV)Y2#vOy7zP$w099s$}6f>$AM>5>yE7z@{BREc&0aI zc3!T{xa<$RDyCenzgcGV%}l(xdl-Foeq*=!><=>)EFr|7ojbK1X(z@lqZSwI!9GBG ztO(q!J1U&FFhfulv~t87=w!2c3uZ=3-ox(&vJo;y19FQ@tJ=@MF#~57;2V-i3sr(q z6b)m;zGfu;5-{aT1JH ztGHXt=8fWZ7T{=>$z!BF*!{wMKN(*_I7m6-=d1aU*CigUE_F2|4H;HX$-QiHo}wRC zq)3ioA?Ph^3)H=7^qRLcZFe&4C98}y2SOVA&Qga9q=XYx`-Lw^Fm?>~{0-8E6xF}- z>RY5!izP*T>d@N|A;iw7B8RIyIKT9r)`OdM)}|*3{QR@85+HWt&5agUHR0@Ou@@0@ zJA8IYGt@uY(Xu<9?22p#TJ*b=UB~|(v^_<+#TbugFEEWIG;GE7%2q;V4L~Eq-Zt#B z6ZRPtlqoV@Y&*dehJO$oQBt2RD6gY{Z%^I8MW$p~R zxbDi2JK;McUS};H?8*?X4C4~dD}_t?KmCbQ4Yqq>V1$lyY*IY*eKE68rQ;d<6BqwL zw{OQejcF3#jUHYqEtwD`{l(R*1?+K)#B1oolZ8K`1*v|fCCbW|))iw>(4c9m@xwwx zD|AG|h?@3;_4Lv9IOQd-qC~p4s?-LC_`0*iLrp{655FUb>*XP|*DK`&(cHkoZ#^6W zIUgxm9?)&PpKI)<;VDR1c;f)9lkB6340*#&WcIlVVP!p^?#mJ|$)S`{Q3L+8S~G9D zL?iyhb9$isp1hALx#z392$XZ9o|lySL&IKCrbCbAWNYcUW%sG&&NG5^TEtR9`N*`MF2EmpM=c;E9ncnEWV zQXK6+fcZD=`o0Xs0hK^=h8>OYwo_kdU+3Z`*e}Kb41NsojP8aol+e^BYrt^hVv}ix;$=?C7Wg4n@%5fk2 z`jvW7l2a*P^oH0n`SBy#2%*PiL|IPR0?Yae$fZymsgy{hBqPQ}q0RU>x6F!O#O{1K zZr-%#FS*6vI^Vxi<9}u9O@UeW4PyUeD3L73*6uQT{Bcgu=hK{&1{5p3thH7c`YbcuykU zq;z|;gCgYd$BC|P$0_WS_B(%Rf$|P?3gHu9gHvATDI%6jSBQqLC~sbwGZM&gW~I|6 z@5Ab$k>FkB_yfME20L~rrQO8(TAVf&rRzuQsn8R~YjY6V?8|-ubg5g%XLG|o881^_ z^~-24L;HUMj9^mR8=iESscVh;CKJ<>B~kN2RhoUdik(Je)GBJm&xSct{V=emk+Tf zt-++2n+BNb)iBVn;d}XdzD`H)q|w7Yhk&G$ap?d-dbUt*%YA8!C~usq#@J3vl6?wm z%M>dqaozX#0H#YushW^Z!Eik^qypF<9-VlknP{2uXqGJIr0ii;m%kF0?{#8LJqf_0 zJ9AWhe{}`#Xx)P6JLP$;nd$V$46yF*8-3KhbBd|6LwF#N~*v^M`Fc87{M?lKJ6$(mawGy4yIj1YfBf@yy zE@G^wM5po^O6d;!{6J_zV~Ry(Qvi0QYXmr6Nspc^CqTxRI!Ga2WI|AQ5N zN1yI`WA~p^SOG7*PZm2SQ>z-dc^AiSYsDin9X0aji@kg+SahUGuXaYGa*EasO<3O` zrlF^vbM|2E=p9A^#Cxa`T3U~DF&IA@(J0Re&GurMkvYVkI<2GGZ6P}+Z@Hr@*A5q7 zSByMz(e_8{4HERLi4ES6W7EFA4O)lyl@=C$wB?hLvnl$0nLAdF*o*Yp-Ru7;zM{=W zOhOq!J%K(95Tq>ZO|9i%6829{NB|`P`;%s}i#4y|a6@yVzpcj2)aOWz*h*_ht0=$??h?X!Cr~YH!NT^~lwon#e4PK%oTbtzD^5~*j2l3t9NipBiDtO%T z&n|oxU@X$Q<{Lo!&V9J%>)lK-TY(Xm%h5UazaPxzM2D~EH#5CK3UtGqKu3Z_*2kl$ z$L?9`?l$nTb9CtOgNK~WefDMe6lyDf&OD&i_B*;d=1S>rHZk((Cw6(D&%xyv>)k@D zEwaV*-Rj&LjTjZH_=`HQizdPZXii*f!mV#{LM#PohI&+BvCG<)!;3pUWNopEFW76p zpPA6Wt8VK4-Ag?_J;$7F4_Z?Vr-P!F9^Q>Sr0!6!F%-zq4IN#e(nBey?9Wlu4Y4aM z1tBX(BtK8}g#gc)D3XwOd)kZEUZr(+LmAFH*2l&YOhi5jWO6_{uL`$P|<5)@xDWA}qVhBA+ zhY-`~=gl}|7KG+WSM4k%6ygTxKpRiDDlR`CY<6)?Hs3t?uCgLz+^qxS}OOiqV%D zHU^;EnC;ufgU{FV3gGvYHgBwTnCU9Gg%yfaz}FwJt}qH#eNDd4ofY5QAVBTxFzO_9 zlY!HJ)*h2MBt+Tbxm+LT9{XMK#Mr>2uN-E#%J&!Ks#4H?3lXdULZ8MLNZn1VLJZM>`Jo6SO<6&-H4V zNZ_4tcpyWBo^G`cq?wl*O`d)T_)z|;b2g>w>pyfF4~96HJTaN+YMAQP)t?vlujcPz zlGWY@+3rr6-_MeS<_sGVthK{^jK!=LmYU#;QnJM~ z@>>47klRNBT7d^KRj&gQ!$rBU^XhxN|ICaue_k<%?yzlojGqi7(U5iuXWmO5Mh6Xq z`%BW!9@m>q=!bu@!T1L`-jY;}o+B)7kSW2;m-As=k{U*}@=tH-g87jYh&W59W>JQI z-l%g3|FhlhH_Uk*55LrDxVpvuerf-()AedR_9FL51yR(;4w#W3nq!fkZpN;!TvN`H z)%xV-9K4)ms0BXm-fu6v=eW%8M~f!CJE`1M3~>J>2Zw1LQcq=}<=sD%+@owisfWVo zhp&(aiIl9ED9#~1C^9)OHwkZFX?!uD=S@7IRkD_ei+Z8kLIS_M?b+(7aegA`6zurK9if$A0~oL=j5d8->NdN+nU}mGrPK z(DW8;l(r;~FZ0i(u#_(#`?I@zTsg^%gYXD6W9LOARfDREitHx-6Z`ENBHX;O|^g)Wc&B{Tqf6w=lhZ# zgr9DS42Qfc1iJ7snsLt|4VkI`ybbGqHU3aw!~0V=-N65v_mUeuc^*!YDtUfZjLBbj zSb-6rx}Q+NEYC&B{B&OKhoVf{&VAjZBD?E={90pNO$Ek^Uw;QQ8YcCcu4IMuu#MRj zezxp4NwdTw*PgC^{#!U-e_-InL2OU4Nb^%$|F8+_**^K!jeZh_w5>U-5px^czP>`4 z$-N;Tr#(D{rQ~RejoS*pZF_4DotVaAFsxdKm0NaW@a(#k_i}r#4wt0RE$cwSlY9%( ze)a|OR9nJj=N%Jo@=Nu(KcVGhgj!&+-&o+h3Xd4z!E8GI7 z8Xp2*sP^~I<~XR4&QfE@hccTEON3*{rD5I5XFEPyeCkCOj2lRO?nq*`qDlf+`F%eE zffvaLKgk<~>q|=leK$9u#LQ8Y{2woI_=mQHLGrky>F||hpMfNta#|C{4~KufGLigT zFk>;dQ(RT!=C62f3+Gp)J#zu8h7sE%+}sUoCSLNSa@QHmmsxScX{4a1wpnqvN_$Jk zZ~Hy9>wBoxvHRDrubZ{>3Vv$(+x40p=KFJT|0%nn0J%TYw}Nu;a`5!=UUSz5pzmg~ zbU#+)El=4zH?E8yyjBGxH~~d)!|QghS*FekK%IDjp1S+|nC5VJMfVBv^R(!R-5WBaj=&6?@2!byDiXKmyZ0C_+W z5WeyAkOn9)CF3H+htPY=FSwgT%t{;R@W7Xka88nUy?OT}Dln@cq_?*?5q*-lL-e-?0Xk)^b0oj=t2m=Uyzet6qWJku=NuPx1(84|QXCR^BUUJ6lYuU08AKP1_@S5h&Mm%q zleuMXKJOOTUhBuJ;}XQmhIcu;VNl?5s=L-v<=;cwUHt*r?a^bP?Af!R+j~#Y4IAo% z;5{GaaToD%(`VE5turOyn2Qk%zA?SCq{&8qd}it*h^%`XaJ_enI_N@IyR;m$6Vgh= zNXnl!1iUAJCoO6UdR!*cdjv%s7@u>OZ)NesMXGRIW^=x|tQoR{cogLrC<2%vb1gOy zO7|KONAEwy*^vSDWil77#38Ty#~8N;^!FRzVQE&nN-Tj>%#Bl;9hj|}bm%=K9d-p;NJ@*+O|eS)ptDGA^Fr+JIyj4hdmiT9x9XC*0uIJhbLC} zkZ_>hi($XPA#x;1js!Dlg#+7p(|z+*z;HnzzDLOy3C!*<&ZCQBba-*96wnR5Khgyr2w zFYf!U_F=D#Q`$$IUX-~`!r16*EjbbIatXx`BBtseN+O^`GwB%P<|0S<&85>c9!-~C z0gDwbj(+9tc69kPxAsm47~VjjV(ZGb13{e1PSBgn< zzM{CbyClEbq@#QD#}?81F9R_TRrY*IFTJGg^XaEiZO(6&^kJl~i~!d8OSJU7yanS~pnoax+b>g3_`d^s zq?j+D5#_T2_+3M>@gEg|-(_Um{&_vkIv$g5h4D8x8XFa4lz7 zP1i4pxwz1)4vu+wd9B%lAKLUw7ZR%~`F4#x99}F{l>H^^ZW}&-gj^e5vwoXRWd6r| zTIp7$f_WV!x#CAu3Zggd`P%Hz|EL0Qbzs^N+h9$$s=0Sq& z){~}-B3xe`fWHC9hOuB-7+^M2?ESj8<)gz<(8NYaf{1Z%VuaEU!Pd)C_Q+ASS>(|N7+>9ihtF@&G&C`w?U?{JtaA_f--;dguJra!N*DxLW|sTB9~-@NNt9 zjw1Q^Gom5Yd7 zDW5<(V*T;~UAMNK=|j89haRJU4vQ?Q;c&-8Z@mdiI*TXJMrgYnYXJD>rhSUaL&Vl9 zXTh`@lCO;Dlm{{)Ic(!4i4gx`zGqGvV1!1O4Maw!OE=y{v6a;PHF!-USrtlnymK_e9=U6%^DP{o;4R8$y3!wX#%{D{>N%oIYG z57WPenIv{(N}geLN<{+dfhu6LJxZ~UzoHD^24sM95K8^Gf9f&i)_S_=4MB}uIaJug ziZ?jN&TsR~$L=QY!kL1&ce;K!N`P0L$RM?3E`@8XSqn9oRNQyA^R9@nA&^ujgK%j$Z^k5>klo=l=oZI+rbUn=4XNiyuqn1F12Ut4%86;FI z?_xcdHP=>2q%NDYNt%<_p+bFEFKCA08#_3fDCUrM#O9JrzJjRw{vQ7_*08ZH-3!-& z^K79Ld_TBi(fJs&lbT9;=V{3&9!GP_e1UZ1kFQv;RLQ;&)xO;1L|M^4Mr7d$WuRI#7pLGwXz zaH$4Lhb@|y{<04+D4EZ{i~(IPq=n7co?A}&uNjZ|H(d5^Ch-OH5X9)+!EZ|GV#5!O zc}0!56ud_2YQ$|M1GSx1MWe#mDobmh8V;he7#{Z>Rm5zbPCDSQ@GVS}ZPeV)lF;1( zuesrvvWdd9Zz(j{)%gTU$1C}Ssp7g=UEHR1cd((Au!d2cXzfANOrTVSZ-?HK zkU9oSGt~%0y*$G7Fne#e?|n0cP&eIwPQzh-{Cs0gQxu8YJt4$zV@@kCV$B@Y5z+!N zZ6~g;wn;pW2&Zi@|RURW9mbjkUPpp2LZEFRe<*{zFJPKKrdZ? zYHwmdc8OIo!Vo@cC1y;DYExDN>sGir~UK zw`(O1$OM~}!ag-C#*C07sh=aNef_P6|ErnMVa76OV4Glqz^T!#n{RzAwC;p%>EF#D znFBssC;_c{pl#|fe})i0XT0CkEtZ8?qSU(^a=ZQ88|+wEpD8^L`@8PFa8P^xyNlr~ z4mb$B2(%kj7y5*_^X@vNk0N`-?!T27KA2STNqDvz$M)V#*GGG^w-Mc(L1=G!WMxy4 z=fT!;PyFDaL}_DtDY&)m!*JLur@Hm@OJh7{xlG)P5FLixWPU zWJiWX?10I@Bq@r3RzTAN&e7}#b>rZqs=9CfHx(pstp=LqO4)ItEOc9ay-JgW^)2h3 z=-H87PR~K0o3!#y#fw=8yb^-B@V@RcSzkIh+amfh2)J!|&&43JBR)`u%|$RzPE3N} zggZ8rf0R?^xsL)iSZ1)wiGT&-#pPlM1B-9&bX+#mK)G75CA#m)G5p!H6De`r)2#!A zhGpzx0`?D!wLAoT4s%6#(W4Y5-D@3fKC+$3-Upmn3#Xneke%Dhv@)!~`pppgBYvd+ z@8RXxcNO|be-|Z=b>tj8gR)M$kIaMAvD8ehNic|PM5%y*$Y?V}&bzeG4Oi)lyZAC0- zV{+Z1aX~oY@erAN2>YA*jt3rPvn43;LDS=oc8v~-&g~4UBN#WhwXX;LJMjQVIU77o zI!mj0uq%Q~%yH_m$LALrDSnC>b^fpu5*t&KhS$!sF7*y1b~#{9i5ZFS_8WtyRVq2R z*HhSxIa;WDc8+9y-MLOfA+8-0$n*Vq4=>4(r2faRu(_Qjdq z&E&otgMkp5`@-o!5Z`QH0PyB!uhB%nm{&qIm3Kr8f&AK@&Y8Occ#RHe834!;7EhAZ7#2D7MxchR% zvwON2bmh--Ruhl>%e2`L{oWpbx7)j<$5CXDFjlq-K1%PJyy}jF+-&AZ9VK# z_E#WX|HP2)+*f?jO=ecZy?+WOzbrP1|1E=MMGeIfwx##NLIsvIJv_w3J1a9hpBtoxBi03H) z%ijAWAFk+TD!!FV3r%8Do&SooOxo^vggSNH>uaV2SR9;?!XWGZbRO7swhq`L6)=y6j z8aeonG%#o`k=JzF>0_S&DQxJMR_vl;X|Ahc8@)}G@nH1l-TmYwJLBf4<}p^F^@5M5 zN08vRk^%NvOKPd+un*EFtCKH1Wp*<_D)!#w;O)Cz;Swp#Te5R+OBanlK_XZm?cpy5 zsa_U+Mcjk?U<~qtmpwPA%7w{`5T!APvZ^K=*&V73gePOv!qwq~7f_C=r0!*9pd3-_ z@tGP*-0;+cdBfx915?Yupd>f)L$oFZU*5!YZsEW9XKZ%!VDYOlDZz5E{3)Im;B&J} zAVRQ47mQaZq6AcFDg2#S4(%J|HR|Bl(1sV+PUMoS;?QOd2PyTrWgOfjzh7&y;pMR*(WF?{#bb6km zTvdKFaL#IBd{jIZjrFyD?a+2RX9Be1ib+{kz$!PTFL^;pX!#Hf>%tmstMP-7q|hJ6 zpomYH3{hVNTL!RhT>kwg&=PKo_C~9;%>KT$XvuyqBaYS}MR?({@oygwcmaWEU)~QH zJBKk)eRsQse|dM=3UP)Kn=rpZ1tA~YTa$p3!h#=3g*QBgjb%Bp1y?Ow+5Me8*shl! zI%7VHh)l2hw#34#v(e`cEb$fKIE9k_(8h5=o=8Vc#qlw9r6L^~1>k#JJj2nb23TEN zBl^Ew*I`25?Kg<|DOwf~wWfECfG^%2(~#alcK`2jW~bQEwL?@p2^>3r(nt73XmLV< zkEc@1`uZ*uv5y|K#a9bsYNbGGgy_Tc5Yp`Z09{{uGaqy=Gl!a54zR_l=QZovKlI#$l(#t$of?9bqXGqw!iaHdmyNvlZbH_Xu+7 z7e@etJPBMa$@*mHH+N?XE5ytKywb_SY-aH$i!GRl+(M7$B)7B`P#KvnsVbFGX@Cd5 z7APyP&e1`vuma+@N8B1Dh)(H8%q0i{3lR&2J06g^v~W$CBtHW}x=a-?58OZH+bh7o zRIC0c6D}WQ5&?8wLQ&YvpKb7D$|1rBP+|Lj&bq+UZGRe5Mu2ml)P?9$m=hEc%F}I@ zj923nn{@sdFawp1xM(byG;N-VUS8IDb7Lf4PT#}@$bHEJ&rjGE$DF=>exUOUQ5buz zG_X#}j2k%i(}^Hu5NN{12nG1}oPVC$PO^f>S(^-N1b2IfeS}!wr3vtle{sofuZd_k zkB3KS+MwIQvBo9E%8*A12|dK{8fMV(8!YC0rR}tp(<1RH3H$LW7tAB6!(XtQeT#sT zu9bdgSR>)x1ycYo@?I@|3B9#4j65^Ni-R@hLXeST|HzPJD40kS$A*8`({c2#vLrP6 zSeX&KYo1un1rL4YEY!tfZG3Hvg8PgQrZ_-0V_72Z$mE3UIXNj8RTX z4Md@Iae%}FEL#;!#OTBH`8yLlS*P^G)C7R|?uzbZ@HvM3kJ|wa-_HCb%JJs3)Wohw zQTL-@bgH@c!{O1eQWFg*x+bP-MWwDEbFwlhporzWk~R+p7npBfL6>XoK0Jn59yH05 zXTc}k+MlAlT~=Ba2}3Q$-otoRNV6YliHnc=%EV{9P0v<(1b0Pg z_uNl=ajWswtK7UYl97=STQU-)zQB zo7(CJGxc(yW;yO%wg{scDM07RD{V^yDy2B~zB&FmV+z+*2=^oS!Za8Nvi{9b#4725 zWJ0-9$b49A`b0%MbkxXNCgazxi47p-AN7VBY%V_nC1LzO<>rTsWrHfRqFjrl6+ z)DpZKBP1KN-hWFzX48^{j~A!g?o61)8i*Oz(t<~b{T|%xI@rqOBgjq#dtPyNrbZ$OzM}&@ykG&m zUmxh5HGQm^3?+lH>1^H^;9VI^I3{5!$~AJM>sSWwJPot&(9VPCXe5kJid&$p@L}OU z=&QJ4^g~=+{DiNu;aypKvMx6BEqzA9i~w8eJ?C<|X(PHp^uB)--O*x1g-6W=hnNxTW#)&>4hmUS4^OrjxwR7YIk(!uRa;$p) z&22J9=#PGO$~H@Dnv1vqv!-15I~?0knF^lMLBSo?CtA1O5WwqYA70Y?Q}1f%pTV&bV8B7F5V6ysI^O48~-M zblwW?`c@4Kq(-C8`cY@-gY@_d`tHuj>w#BpM#1t!zHL!AnL3C&gT$*#O1k6#g?DOX z{#BMY{bPv(Z%ZIl*k`UA`yzwSlwH3&f&;<@M@cV$B8=^4sL&!6ALJHcT`tPj@JefkC7Gp8B zsG3PrCRr2buB~QT7C9;vAlCrgQJ1I-^h0D}?*4FdNOT|LgcD!NCb#w6I0C`Y+3AV* zTu!)YU$y^C*y<66&M@XkvX+bZMNX!1*x<#o--E|jXjXmKp}Lt(Cc`0jqLRO1!vYU{ zh!nNcU`MVXad&r-O5Q}H$)b5MKMXPzlX^@n*Q#a{T|7-LBsss7XN$VvWV#aPv-yl> zeZ$XT^WvxlN$`V719ptQKS=C~ZWo#_Ut6KhUmyYU5OMlY$T#N;XLA4ixC4cf*x^-l z0_Oxcf_@tz3=Dh}j$bi9J?q`tIfxl(`4(evy>yZVkaT!a%MQE~%aJZl2R~k}ay>dQ z>2Hhp1DLYb(av&$c=?P!t|%N#?uXVDxIfA{5y?NyUV8IWD#b9SC4HVCpVf}yttO&% zqE{NCcG)o?OA~Khjbv5V(vK`Fda(hW814E{ftRQBY}chF5C8h@FS|2CJ)_XySZu19 zU7V(-$s65~@z28Nh234%wev|sXPmZM2EN9rwvKN^K3}1gm>#gP*>yS?s%!Y3Rzqs& z6+|m)|NEP_l-fctpOX+?phrB*FL=lNr$?b6;rgKY3x~2*@?^&vrM@q+v{>G|kB=9v z3W?PNw{-Sn7AxfeefRJKg>FCNhH&xUcBX}4(F#s@$8j2`bhSrgH?gW zPz{7fi7~t1{h@<~)hg1JWQVwS)rF-QA6nQoD3YNaxbs9n0>^`)R(E-Q@>o^pbUTwnPdZWUY{>FxicO!0uOeT!Qa>GmHdeIT za?p>HZJ}8~ukWm{`$l7AC8_WL6ZtvxGbKvn&v=<;fnQPzF?JE_DPxH9b-Vd5;Yzm; z>wz79&^(Br{NESsFkq%DF#kuXISt{jhN>ejflhWKdp^8@nbwjm2c@ghKJ~%s_~9R% z)whnvUHbd~2|7Hvq5hDSZjLQY@$V%oE#C)R5q3(J_x(eHhruk52z~z&1+(CY{}VEm zzirEZ{gh`x^he{M%7<#2j`?z^%HNTd{mH>oxOf1TC!2P0A97?&o*_c2-MG$qiYOpu z)7OZng$K9y>`X&b`}?j1+px0R?7jdcBI$XvxbDXaFHkAVn$*`;xqfM{E2c`_KO4U; zggpz$w<>jW26kkE&8KRUBwkWIqrpnh)omYJD5rYrkVY$UkO6hQoy3)>0 zU~bZHTb@3poazdw5E;Fa5qj%+R37BgI5)N#4|lLDi<~A!yj(D=%IbhGtZhB-+`2Zw zs+`nW%SUA?P9)Eoyevn2@6fD6bCrFOspt$`{fRTte>Rrs8Rg9y8E5Jsl&}4+yjf*) zWTcV%cs9nur+(dAY4PW2DXnv5;j(kPc1xqH&8c{OLjVmpx`ZjqzOFGmq5cc#*!PDH zvfQD zkjBK-J@>XW)5b#xO>I3Vd=RtZ5AuqZ6se!l>prCiqK@7=>S-o;)xwv6s740vPiWB% zNCf1uMRMTvk*#L~x(CI&SY|2mqFC6@}`YN!yDV}&y0@^;-DRY2N z+brBR3XIIZ&pR2xgNdSVY-5-#Z|PHa#xF)@KxzNrQd(7E$4#zN$O6R30HBT9-ze+M z!oEy<#?CY{`c8@*8^5@WfJsrhSX*+0``L9^TCAT!2t5bZ1Ws{?hN5f{>!uUOydR}x z|E16N-r3F}V8~=efF;!Xl{U`4JO+SXeT_L?Ey&U)j3;m>`{SorMw^^zYwHrhb? z_6X92`L+aHOO0GppmbGHa&4GFiaj(o0g4KON;=svsahFCR=YAq-Q7KS$b>$eUX=ei zlJYgwGk8p#AyGB!$L>Bf&c)MR?UsnDf87~xt9eud(|zYmzVsjC`;}!hSyJ^;*MIbQ zD)W8@2e3ao4o4>hGZ|?`+OUjLP~WeX^BUEuR*pq>w!$xB{u>stFgtMc5L&yNXZEK= zs=0}`R(G5NgPm}V5&}j+)5%mIm`K1Q?Q7JEAWr7grU~wD=s@baMYaqNbMCg z*)C{~xVi{?`(gV1eNgv-7bMXy&{1zJW0}wO>}f2%os;>0hH5?{){j*F<4=0}>iXk? zLp9G;d?|~fSHvn|0i7lJW>M_ut zjOEk62)evo#za+JMV5KNE8lK-Rf*p!Aa!4ielBDna#!=TDSxeAX&Pb@-wKR;RXZxMyXCFBmH1i@995W9 z!F`&~^38aE-`OeK5dbsrC$!0ButecDTp0w8*!ek5?EyQrD5ecFt4`h&VCOlN)$a%e=Nel`wb(vloX1r9Liu{HQPjq zJCNUo?=f6B^vyMJd<({3p?L9vHx;m~n;aRZw84Uz1y1&xEZ(I?)JtijKXO@AA-B(x z^vweJ%D(f2!V^CFvv1&RvuBGlcw#{Sc9IDL^b}2Y0Kn?|8zaW<`&35<^2CNaTnh@k zFaiOZ_v(Z?X4!E345N+Pk){O-t3_c4+(LJfVf6br z)CSYPvBd~h5vG&x#&l(f5nl}P@$|w8V-FIYO?y4diB1GdVVc)RM%7>}D5)&tP{s$% ziin~*eu&Tyn)M$@J;C*5Zn)pjM*SU;l->tPz1@!r#$3`j^%PR@lmUkjFNc3K`(`?` z;)Z}qQ|w!X(?ad-_ti-btOz2Q{iKprhb_)NDQ+l*DLeIr$z;ebNYP+ zPHTo>gfB-bb@ugJ4~P|vVL!4?1h@P@Fm@tI_LmmdpW)8F5e1uGw9QS;NRH0YfoZi! zCW>|Z>vE)r0Wk{k4cC3hDEZ5`u~LfuOENhO8twTbA38&!C&J99PE##+46FHk=Xmo! z(O=`BvlJ0mC~Q+~91p_CeI>QBKfswNRPOq=@fS(GS+GI3bDPRbOV+P*xL=Rp2BlT9 ziuRVfMomvO*7jxI|3{#f#NX%s;=LG7i3qlWcxpw>m(pQ+1vPCfnx9w{6cl;+)zG?) z|Ev-RD<&@-CrKc}D=vMWinj)>WgkrQ64DLpWZezZADRbiLDFfKw9@h*2y~c|o{NO# zyx)O`g%=unf~!50*V_H(v*5%oiL^!)14#6aZAG0P6}~AgpT=UHG{!W#3!jAEY!kz~ zSBq|<=mQf;NJeT_E&m-k@-A4T%&6NPX4mPo>xt^7lVUFfM*l|BB2iTM zkOY^Kf)>P3pd=qnOD57`wTEvHJKX%Oc_fXBjD@NBiv(t5RDK}Iv@F^$n15CPs z<@VFUZVUvu7*z&_R6-qFUcQ^-^4w2rUErneuoL-#q&#*iawlxKW4UE>a@eM02serD z@_WK#QT3$&^Vxv3jpasnYm+5ZIaW$2tb6B4#sxfGk`2!Xr^<4}t>oH-yYJ%b2M?#= zYLtm;+rn^58CXjuL;ms_zPs2UM`a51D$ zK*k!Q+wUoG_w-40yM&K2VMsd2ixaWv^9^wHL+b1q5|PlPo@yYi!UH@cRJ{$-Ezc*q zT|E`2KBhUu<_~|gX2S?7PmUZ^P7E$wxEn$w4UdBr7iaDhzg$$gAx?!ap|BvCfZ+Nm z%@O3Bw?FYBez8F}!HbIp`(`{+&T@ScfR_z`^=Ea#Q*!XbiJ?l{B|nr)ecBxP9;Gcz zIyUaI+%zw5Z_B)~tO5gzcSp1`i+!8}UWEm_j4|*yEY0S5%ja1^rAMfB!jBZ#FH&Os2lLm_QUB!mL| zGgPXSCI8@8@Z(yator7^sU{&st@d4RsB`JxQ*4m;caKUuNrZ5x;({zgBdXusz`+0m z2~$)9mo-(r(uRrz5J_iSor5E#(wNv6WhuF{bp!&+9$C3@j1!OlBY=5i1}s7Upe3p1Og14H#CA%QCy?ha_sEJGQPa zU?K%xShmmC-rZd9%(AVwM!m5$z_(uaYP9GSEnocH1+!)9n6|`(){yZ zmkuW=1V|=+l}lLPZNjNO+E(nc+{tv9S6X1WFJ#)PVh5W#*sOdI_~ED_}PzOWoazf3#dbhbiAY$R9THQ$IC% zK9lzkKJ_uvT-K}Skongr7|3~Q=w#~0Ik!lxii)SxIfN+#Kgwjpuv!o7qkN96fzh$4 zN&unCJ8I2;Cs0m|um-Zlfuz}+hBC}#s7WutwV1lRzdoWSZ4*c^ylW9puDv`nMt1

r6DQer^*-h3I%1uXtS^ZBxSl`}-G|4#j#^iOb!AYw`Q z_2%iXI`I}=e^17m!hsRrvu_C}fB#AaR`)5`jm@tK5>;Z)6JoRh*w!S=(0q^&W-^a& zlIZy4vK;r{bO1*%$}rQi;e;N<=yka-u&hKXsmp@9AVD1`%$9(;sdO5;3SW^$Lb!>- zmBUSCB1@?9mEbdz5y}r9yybbPiVv}VCR7aP?kmO)!7O$SEc?VCj~u$Y8HUgHULkk> zxk@UX#J2n8S!xcF9>ixh75gdKm9WpyG+G@<5%s-P_?xcztG@~Zh-~pw@3;F3T;_p1L>WEXXB}; zBrf3ivn_NmF3{Tjpr$PQZc?8D%$^5vRIQAJ zcvwdPP(b0tF~s`xcnl6^Ig22^ib#d1a2iLy+RHav6wQz2kddMc}0&!w`h zIm;0|j2~49XEDv3>ykO(6%Lb#?SPPQsovm&=g9fvx7V7Cus0`k9x4_QrPT!i%`AR3 zb6e2mibEJg9&7R7LhrSZLFm^v1rOuIOH9|pANpI_$|0{})=xjK)8Gg@0nJ4*ft#YJTu}G$iLM=c}DOV$~Tg4t#cLeTt+ZD`F3bx%;3+Xr=o(@fIuSNHU)u z5Z!nZms-K`S*q;^Oa5yGMGJAO_Y%BTcMNtWzXP^FZ#lvNsS!{Y7PzIsLlm$Ljnii& z{qy0;83a%gjo+H+I$~@Yz@I6-^wDX7h*P%f{I{wZ|(To#@ z*m=1D;yNAvGMUrLf3cb`tgG<&LSG9DnsQ`T`70t(kHq)`p1Bp*`{UE;(}3jOFiqqs zXRp7_xWM(8B0(lFddV8ld}AxDwm86vSN#0(S=O3pX^q{y1@R`@qV7Ei)=jZYz1m7- zEXu(Oo$+A;iD19$6Hf@<_Bja&mk7z^}1WDT?Df93Zz8D`~h-Ju; z7w2^IVz^RFM%v&M=G)CQ^qCZrrR!|~73Fc46ER70K6})sks&jkt2& zl`r^yln2j4CcGZPTSMD}I76kCJ2n$HLj&6ubbp6NkKTEIj*YxoGHQ^)Bx*NVyXhJ7 zI$!~2)aJCfv+JLJc-oufF|)(9y@uotVUO`o-@7A-Xa%XahU)elRnWa-ZJ+1~h+NM< z<$3|H5AKt9=#r?lB@wbmFE*QlwLF5s;*baUn5bj>;*TNE4P?8| z^AH#Q!S>CQGAaetJG|E4g)N@(Cwwa|>ER4=MB_^)!&!d89`Ot*58;s{ci$yZl9PBl z8gpk!6@B%qN1F_*Z2MvcOWseSOz3uEf{+m#CH5`JhnoM8HT`a!k%B9irdalBO=Eh@ zy;ISDp#%#drkIH1GowciNcViGUSLGplxe3NS(;!~j5&t8-UD8=2$J#xU4zmdlWZ5z zgB>>Ps4LWNDCt;aoF`3A@ zWcI$T)p>G@xn_&a_HzdLT^$8)XtCdBsjX!Bu}Ci$Eo?FJrUPO+{vfgBi6@xzIDPeU z9N?PA8J^`#=Q!*LLLU_+({XfUHr_+$(~8T!3=k*2RsNS&*<|;M0r-Jx0E0a;>T?A? z9gqUmR5@dJb^oUCF^w*7+01uuDqfw$hU86}TYhjP5gZeK`}fU|65}Hh2+;F_O^fue z%=M2RtMd8Jn^Wby`_um&9eV}2mJi5PxHP=8{&)WHUZ3IGWz{S)Sn1rwx2&7h_D9I3 zJbnFZS346{_j36Ohu-Zyp;u*z8AO>-K_*O*$YE~Ul*9kx-n!q1E1%ai-b1a271e3 z;ayi7WM56KgT}$^u}T~pgLgt#ccipwwxwN67RPskDTm9kBS?fF>cFxFQ}#c^1@|P*@;4?9FEF6GTQ&ifkd;Zy-~|C&cjd>1^lBob z{CPEbWRF+oBc3~Y)##w4CCkYrRH*7EK#3&vg<(uV`6 zpjp6`I3Nx~fTQQ#TwV0^%-lYIcEKMa)jIBpM9~;0PTUPJMDz96=Q&wpB7TZ?6$7Zl z*paCIEGAfj)H78WMVyp7=9znM?mKqfSRiVP^0Ue3pF4E@mQ8M*tPmWWCm94bwY@3u zlcM7(A}VWZTO#DoV)|Eok{Q7QN9EH;?26yWk5B%?9ijnk>kV0-*nH=K)Bd!HvE6a# zN1t8|m1e@9xe?w_KWK!v(%_JbwD4pK5b!+kC2{?yK&^7x)`TOO3aB+lxKb=*(s+O5 z`-m?hnVE5Bd$wD^rs%g{Oy4Q#FSxH1OIy=RO6Mk*`0^WQN`=D-9dgRkp+}5%>79ieyEW}koe7|% z|LDb3sd2_V4GRP^A+VX2*!Ik1`f3Q>_H_4`sF0l0JBEJa!@W4vmUSsF#kU8dW@RL( z*4Yww5#PA55-w-+3#Z?AZlEC+Za9f1q{=S)ui!uR>Q7C;JBG6?VjH5-AynDu*!zn7 zb~Qzmkxuk=?{P82;0&`=NfRMZLpGVr@KT6X+UFhhA-DE3e;wTl0EScBM z?v1=yy2M)XQL3y_5eRVgd0l)&FZ0HMCml@EwBUMe?u3syx8$iEz}#dF?{Q1{c0r_m z!0$gXqBnyBHS0!}vtFR`x>^+@8ejm~ZPdtp*h6q%>c0)CBI$=G?KH7JdeKC6bqjM} z!qoC?rp=NKoOe~~Qt=r1s(*@w$3&Szo&E3MwDL$;3`R@yiT+-Wm^i@1B1&oK&idI4 z_3ADCkOl*yo<4T;&1Z4SW)1+s{QHKc%%th3QziYMc@L;9KH)UGvEgDHI*~maPj$$= z&C8Hti1N%p-+vxJ2(c)|749OxW**s8aboYbE9qvn5El6dy=BLq0}z>(yW30%k_#xE zPPuwu^_b?l+3I4O8O9JmT=JSuzG1``_`p1vI^+efNK8M`!Pap5u8#Oj7}xRF6T}0N znb0t${tLYMw{F?J&Pc)2`NNEk`bY@cwQ z**|%4d ze1bnaKZnRGmhUlr(vN^$O1j~Jcb_*EYl$M5Ukg!Ps74f5l)aVlt=FP(EiNhl@g`QH zz(39Axxcck%Vd4AK8XwvXW87z3>X*zhV01{t;*~-Q#zqN-~Q}Nhvmr-^Q(ojmMk@s zJQ>C^75^p{zED-UF0zONK=rmAMZ@v4pM%YVLO28`pT*by3Y?4Qd(k|Ig)01e zD=|SKrL$z%qPt$Qap}&YxJ9|n{PbmivC8RHTfe&B7AW@I2g^s|a*mGvC3XF~-)L+g zJBnwd-~MSF-2Sm%9xoUQRu903OMg`Y)0VxzH^K*mSukWmZ(P=7rC0J{u+Yo*p^sHu zBU`WmZkNkdrK%O+p}fsh8idGLvR`1_j@yMB{`F^_r{!H->B`t~TA-%yen5PA@G^&b zqkd~G=(5ZbkWgoJ->-aaWWz)EKP>ga|Ju}HKA(yk_aBTvSj2Z3dsk=DwGNYxtq(hh{Cp}- zyO*>*nIcu@$9I2JbIRzp?B>A5eI=%mnf7yG-<+KCUq6pLsc$L%-GlNwOac(Z-$3ai zUsZ_woz)8VURH_uqDTS)AMm2E=kE{cNkas{_tx3(et`iJ~?UBT9!V*Ul+reu6tu04yh0 zN(FsL!Bo9UuD9!izrVxTn;JSM7*1Sgnq5U~BoQFpG@M&-U(RyRC%lfw{xPB0x=cPp z>ypUG$7+HYkU=Etpox6einp17Wa$hoP9g5AW%&JaQvRu*zu#@t)rq?wiX3y@J90cC z<$=SCJ~IoI2jepUQt{(beo$0OSJqNeBggb&yOi?whLj)63Tl--MIzEH{`;s^$TeTf2+D4%pZMP;lxV z?N}GL|L_%8ofHUaG|YM~*r3PKu2b9RN*sWz*pXo;F~bexbu(f9)+Ac{KtXjlBPbr8 zW{3IH0ri`Be8M=})lHx|Y^zs6k^?ut$=Ywut&qvX#j`J|4-Vg$lqu`Z%yGf}D=&#R zNE#cv5sC0lD`~O;5omgE1Rum$QFIoG% zQp2um3F*7ZbtZP_7#q}AqoO&JBet*K(%0>actGcw8@yONN;(?42TkD3>J8xZ_pvEcWc3HJo_wmpTK9>#vM6(t7V|3MVn>1y17+8xFg4l9{hh&_l_;&gc_a zr2cV?MHS>2gP1fA)LoQnZ3g|m6w*iaq=Nw($JPcgl?6^rQbuICS+EoP)(ht|z8D`q z?YP_7*Dm+U9{>b5toKqkU{lKFo?}?bKR00Q#Y=Jj-Ba-OIP#q&Rg<9HyLWwCbwp23 z4b>&RsW%F~7ndalJ+LEw)A4IR*^<&Z5ASJWzJM;v0cC#mn2gAeUzeOwYYQgwSP}1f z>KjV*guv&{d1Ke^`fsIh8n$eSfnMx==Em}27&x%-w@C=;8kT7c{o1{7NXds5hrC=PwsjK31yR zH+6kjtz^??j$ZSjHhh)Q60O>5X0@LN%X6nAk}!K1aTV$Gg2t^LoP`Hzo!5^ry;!K_ z=9=sFt-R~CqoGwP%mAJ5^`Z#sdYbAu3GVb*>h3Sc^&aMo9ewLwxmM+S#g5*Cw?<;n zcS6UQ`xP!!lvGn7oNW2{O3EVuj#>GD>dfLA*fB%p1%U&ko;fyJ0v%C|DSN)0Ov~~@ zCs$JXU60VmVKaX$({xC3#+>AMB(2^J&Id)|LX+RaByg$$fDBS#^Su2l+93|~2g68~ z6)-A+H>1P_E54s0r+f)84Qc(IbF1IFMRV+Vlmjeya{Cf6Sh3G>On&bc6sqS0od2fo zEdv22QKBjRp#N+ph@bQCR{B)Wid@!WUTx0rn+O4B5NlxdW#RsbVi!e zbby`h7F$l=81y)C%YVndcnJVWGllxc&_KXiU)H?d!8-oJ+@~C*w?;{1-H&ADeEn0= z%a$=fAP_CBqp8S7GhH+Te&(;D)ByPlAkYvlXvqXfHz7fyw%fMfiV?}(mV(E|wY zHl@N>x=5TpGRKCxFY_($NZV3QXx~Y1Kx+BDVx`Ky>g=h3h<#eILZD$i{xfe~TpP96 zV9e6?$}v^b8=3&(#Q#01Z37*^H3HNhaZyScUcXtyYU+{iH;$eBrj3Cc$%LewG*6Nt z66vSx{U0nMtyD%t_7WS&U#)*XSgI22TBkk~6-JC(mc=kjzhr}dWWSG7kV;`=Vxs7E zK7CB)PCfg4LqYi4$1MzANlM7v*N0nE%n)6Ex^NynbsPNCtLAg}^0!9HePM;hX@d5A zdHgyn?f%vS?~35hc7m}@Z=cDvvDhY_tTa%8NPFHX;^cX=iqj!TU|A!+Qeyo zHMQ1benfIOWYqp|qgl_OF>K?zm&XI&C5qMI!K&pdp4s}N=(X;N_bs3Cuu?iapK1AK z0-ICaSmSY4Qr@^8T`FR2Oi?^VBx;L5_r!UHHPO;xb>olC9K~`IW1M81)Y{}wtu+ds z`B|m7?&zNaBV}-N#ddd14#NVi+b7S;M_0J%VBS>M#iRBR0Cr*_E;3z0+9Lm9H73Q0 zTAxkRQG5>?`5((mXrF`+;cQWC%-36}+D2guMbX*%wYd<88ZjhGvNu_f8+i zujK6|T(1g{nY6u+P`966p}nHJ-o#>)^qL4C$rL%sD4_H{s-uP9yca_MO~O5H&I(^e z`ilA^F}66EooR@)_Z1!b+^gm~%&!%eb$|Ih0)CspaSiu9!a-+AwFF~M80}Xu_jxwg zJQy@y+ev~AG!m*oq(0JJ3C&~Js?H}JwxDm5+)C$Pag3*-vUNCKm_4TWp zubF*^AP)Ck0P^lYlQie|oqnAji%i;uLlr}%#ofFyhylceVH!a{d_42JZUkAMNWX=! z%mZEfl*`XTQ}co*&1DUR6|rIE32)M*`;@W(*w=4{&)VG}=9+@iObc(U)(;>8EmAUp zZjTyYA=KU;>u6t{5%5j*etgOz)Lu@2Q~GmWEKP95#p%`VBE23Pz{$-;f8;1J*c(j~ z;iwD?Chxj3Kw??Hg4lHnDx&?Jt7o#}gYxrIV$a95%YTTTp~_!Uzx`t>3OSUF|FKTy z`B1z?IIJazPyGV1^k!%G19C|!D81%Jvpro_@x7$=z`8)fzn9f=xs=2pkV>?w3Oe>$ zRd{r{I1cMg-tb7uwOIUHOL7Q35s`u2nFAg;l}=4WdNQxMjCSn(*i5SzW0Tmt3jtyq zTR7eXaUlf;gMX?8zu#ZO0XIOQFB*SOFO3#D!`ac}7G1DD>}>CfUM>v@!jC`1`zk=5 zJ`gMjbk}{^R$jg}hJF)Mu$)stb=X6!MLEeVzmzp_OH3!>MA@rOv9ly41K9c1V3V-m zg|Jib%J!SE-p}OoFJc}MBfpm~kkToMh2Hmn2_an`I{IGWo?}+VbtzjSqFg{EF&t?jyNH55B|1dBgwD?ef~?#OZ8051c^J!+eTEcTO*y9z`;U z1x?fj3dg3x$nlJa`^YsMPkGhM+1AX5AFG>ZDLvMRW|w9nD*7F@c3xseQ>11&U|FN% zNi%lZEcs1b6)*dVzP@m5;*ayZk{9g5V;Md)AQ7AOD}76TfSMx}%~9$TdHX?$oJE?~ zX$lM}#2Vd>pQp3b+MWK=e=jJsxktk!22DLL`04P4>x2Z42;g0na?7>scF0{l&}c@I z#$C_<H%>2Vwfm3iXznuvsP`-1_^H$1Hrb3#YX|#h z;*{r9Ke9v(Z(7UnB@Em;#Io6u2Q9ly=N85Z!dtDPOFPGGV%umiE|+_^T6s)Uw}3Ovpw7d#rS_EYb+>=tqHRLKb3I1vwFUz#XZ=jX%AE9+0hllwXsLv34qPP{>h zJPFGeb@<+nd6bMu`-cEL{q<@qdqkCZX{QiX#x?34LEHUr3Z&=ckE1rE|51y}n$S}1 zs?d`A%3ap*+U=zA+k^Q}-kl9cr@Ssm)|rZ-Iem(99W3+FKFb=`$^)o*m_e-66Ab9_ z9Sfd06W=A2`I7CKc@bSQv->CIJ~!>04T zw&6w8C))cLU&cr$W}i;#MQd%M;N%L|xaHq?e7G(ovG|1xO|4=dz50!S0EY48R^EW1 zH7>J)5Swk1sJ_xwm~Rm}R?9x2VfK{QS&7Y>)lG!&G;qjK*6??$uE*;#}lL z#qCoX9pXV~LV89nzdzy?#~FM%HpAqg9Zk~ekhKdLbv^7#VV=b8>*LZnf-MF|G7CN@ z>m?ZAKS>g(e+qAUT#}gXn95Q=)I!Q)xzUF#%E@iQ_XL9n!t!H_OX7<^$TD^I@0yUZ z&EKo+tBewZ0M;7IQgIeT7zv703UD}}NyyJEe~8TL z@L$hMT~M}3by~G8F#yLc%irz4xbYcfzupe@?&|kax0kj$S2NRjo>lU+i3ULEqbWsZ z&R`=ayPkOC%7giOHl>~e7c zjLmG#nKQGabLWY8X6702Jt?kcclXNK`{VSj-oe-5ksI_`==(>2hxlBW{4=fdy@&Z$ z%y!3pjE;DQBggE~FBXjD+Cihp%#WR6)_l5|z^*r5`I^Y!{Pp_~^_hsSd_8Os%}d;v zREDA$w{w`>?Jp0yK^5tqlegv;cnW8Mw<05_H0j_(Xf3N|?8+%Dy>X^T>yFx;W110iU_gc*0*Smd;I9?R&haCO z^nc1v9A3K4BL)yjyvej8uif3x;-`aM5`Tn?d>5n2@ZdFMdBI2Zs7US0DO}7~X)Tk* zrzhi=_yWV}8C{oW~bLz!RZw_%6N z$;nr)*ERJZ>Lo)nazKM3TE#H{mQDS7yy!@RL%Tj14@lk?yiWFUQ%#+kBiWjN>_xo$ z!e6s7HC+U!`f`TI1Tnb1Y}owQ?F#no!LYk8XnX!zacb)ND*UlGmTtM9pG>>TB8bcM zGZuJ}q?%aAZT=rgYPgT}+aY4xu$dedX;-voCaeSC!nT2kQ?9%ZmT*fq=x;R!Q82vHPE}#dz!o)o1T~)E%3s zBzAEjF1Ov0lk+VB1F3i!6<@RimfJctBghk(UJ77qYiqyY6vnbNssID>bvppBRb;1i zX1__`-Q5&TmOZrCLOLt}!qzVBlNWowKX^`IW#{^o?^|$XoolTD0{{jW&#IFkE~SKU zgzt{_Xx_f@c}-)uP#k9s*NOEowB(svlyK(V=1T)U;!fQ7Hs4Y;&a*rv3ePFa8&QA~ z2xs@U!&uk{=;Fvmk*{Efm!OxVqASsNLU?_S{r4G>f)iQ-xy99_f3OQ)R9g3p#bGyr z5Cd7|nA}pF@zs%`$x^ARd?od~%bqe-M_DBtHL64c1>wrQy#1;2hMB7Y-PzB+Whm8O z_YSYmZX||yxc?n(qXSPwSwCO>oD_0h^Yq*8I|>Wy&AfL~7!j_-6P0V*@=g!LC3E?Y zM^I2r*X8A#ziZfHK>hW|R5kQKZ5BWj+tK*`T>M@WMl8TM|Jk;(zet3YDaQ1few!H` zQQd&M{}B%ekzGccXV;pX%L4=azd!U(f*Tj6LJ7D`$%!6&l+#B& z^py8w4yB)EhBrC-W#cvA%sHCnGAiD=Jr!BWW<|%>dMKj2oOqoYK1L=C;yx!8h|E8{ zdaGnm{(}gg`sK^u=tN)W%aRjeZx)6

l0tnQS?*FXJ&3$q<@x2hls63ylt`cu^6n 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 diff --git a/vision/images/landmark.jpg b/vision/images/landmark.jpg deleted file mode 100644 index 41c3d0fc935619ee18dfd5c5b59e7a115b369b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161448 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

    0XP_Z+` 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 diff --git a/vision/images/text.jpg b/vision/images/text.jpg deleted file mode 100644 index 3b17d55de0ebbeb98ef9a69ec79a37c7eb0d3fc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124744 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%0Ac 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