[COMPOSER] Add new php-ffmpeg package
This commit is contained in:
parent
83ba7030cc
commit
d7ec199793
|
@ -29,6 +29,7 @@
|
|||
"openid/php-openid": "^2.3",
|
||||
"paragonie/constant_time_encoding": "^1.0.4",
|
||||
"pear/console_getopt": "^1.4",
|
||||
"php-ffmpeg/php-ffmpeg": "^0.16",
|
||||
"phpseclib/phpseclib": "dev-master#f815e43077da67d3dd5b4d18a45753f5b79c1ab9",
|
||||
"predis/predis": "^1.1",
|
||||
"stomp-php/stomp-php": "^4.5.1"
|
||||
|
|
617
composer.lock
generated
617
composer.lock
generated
|
@ -4,8 +4,70 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "9ada0acf1c46320bb59933b35031a551",
|
||||
"content-hash": "4e2a2a7254378e2dc8be73be627b766b",
|
||||
"packages": [
|
||||
{
|
||||
"name": "alchemy/binary-driver",
|
||||
"version": "v5.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/alchemy-fr/BinaryDriver.git",
|
||||
"reference": "e0615cdff315e6b4b05ada67906df6262a020d22"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/alchemy-fr/BinaryDriver/zipball/e0615cdff315e6b4b05ada67906df6262a020d22",
|
||||
"reference": "e0615cdff315e6b4b05ada67906df6262a020d22",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"evenement/evenement": "^3.0|^2.0|^1.0",
|
||||
"php": ">=5.5",
|
||||
"psr/log": "^1.0",
|
||||
"symfony/process": "^2.3|^3.0|^4.0|^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.0|^5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Alchemy": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Le Goff",
|
||||
"email": "legoff.n@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Romain Neutron",
|
||||
"email": "imprec@gmail.com",
|
||||
"homepage": "http://www.lickmychip.com/"
|
||||
},
|
||||
{
|
||||
"name": "Phraseanet Team",
|
||||
"email": "info@alchemy.fr",
|
||||
"homepage": "http://www.phraseanet.com/"
|
||||
},
|
||||
{
|
||||
"name": "Jens Hausdorf",
|
||||
"email": "mail@jens-hausdorf.de",
|
||||
"homepage": "https://jens-hausdorf.de",
|
||||
"role": "Maintainer"
|
||||
}
|
||||
],
|
||||
"description": "A set of tools to build binary drivers",
|
||||
"keywords": [
|
||||
"binary",
|
||||
"driver"
|
||||
],
|
||||
"time": "2020-02-12T19:35:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "apereo/phpcas",
|
||||
"version": "1.3.8",
|
||||
|
@ -202,6 +264,102 @@
|
|||
],
|
||||
"time": "2019-11-03T00:18:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/cache",
|
||||
"version": "1.10.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/cache.git",
|
||||
"reference": "13e3381b25847283a91948d04640543941309727"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727",
|
||||
"reference": "13e3381b25847283a91948d04640543941309727",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "~7.1 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/common": ">2.2,<2.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"alcaeus/mongo-php-adapter": "^1.1",
|
||||
"doctrine/coding-standard": "^6.0",
|
||||
"mongodb/mongodb": "^1.1",
|
||||
"phpunit/phpunit": "^7.0",
|
||||
"predis/predis": "~1.0"
|
||||
},
|
||||
"suggest": {
|
||||
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.9.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Guilherme Blanco",
|
||||
"email": "guilhermeblanco@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Roman Borschel",
|
||||
"email": "roman@code-factory.org"
|
||||
},
|
||||
{
|
||||
"name": "Benjamin Eberlei",
|
||||
"email": "kontakt@beberlei.de"
|
||||
},
|
||||
{
|
||||
"name": "Jonathan Wage",
|
||||
"email": "jonwage@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Johannes Schmitt",
|
||||
"email": "schmittjoh@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
|
||||
"homepage": "https://www.doctrine-project.org/projects/cache.html",
|
||||
"keywords": [
|
||||
"abstraction",
|
||||
"apcu",
|
||||
"cache",
|
||||
"caching",
|
||||
"couchdb",
|
||||
"memcached",
|
||||
"php",
|
||||
"redis",
|
||||
"xcache"
|
||||
],
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.doctrine-project.org/sponsorship.html",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/phpdoctrine",
|
||||
"type": "patreon"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-07-07T18:54:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "embed/embed",
|
||||
"version": "v3.4.8",
|
||||
|
@ -256,6 +414,49 @@
|
|||
],
|
||||
"time": "2020-07-03T15:04:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "evenement/evenement",
|
||||
"version": "v3.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/igorw/evenement.git",
|
||||
"reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/igorw/evenement/zipball/531bfb9d15f8aa57454f5f0285b18bec903b8fb7",
|
||||
"reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Evenement": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Igor Wiedler",
|
||||
"email": "igor@wiedler.ch"
|
||||
}
|
||||
],
|
||||
"description": "Événement is a very simple event dispatching library for PHP",
|
||||
"keywords": [
|
||||
"event-dispatcher",
|
||||
"event-emitter"
|
||||
],
|
||||
"time": "2017-07-23T21:35:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ezyang/htmlpurifier",
|
||||
"version": "v4.13.0",
|
||||
|
@ -792,6 +993,46 @@
|
|||
],
|
||||
"time": "2019-12-02T02:32:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "neutron/temporary-filesystem",
|
||||
"version": "2.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/romainneutron/Temporary-Filesystem.git",
|
||||
"reference": "3c55497da8d7762fb4dcabc91d54a5de510e3c99"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/romainneutron/Temporary-Filesystem/zipball/3c55497da8d7762fb4dcabc91d54a5de510e3c99",
|
||||
"reference": "3c55497da8d7762fb4dcabc91d54a5de510e3c99",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.6 || ^7.0",
|
||||
"symfony/filesystem": "^2.3 || ^3.0 || ^4.0 || ^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^5.0.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Neutron": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Romain Neutron",
|
||||
"email": "imprec@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Symfony filesystem extension to handle temporary files",
|
||||
"time": "2020-02-17T15:27:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "openid/php-openid",
|
||||
"version": "2.3.0",
|
||||
|
@ -1000,6 +1241,90 @@
|
|||
"description": "More info available on: http://pear.php.net/package/Console_Getopt",
|
||||
"time": "2019-11-20T18:27:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "php-ffmpeg/php-ffmpeg",
|
||||
"version": "v0.16",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-FFMpeg/PHP-FFMpeg.git",
|
||||
"reference": "4175c02b7d9f7e1a02cec2ba73474266ba2c5fa1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/4175c02b7d9f7e1a02cec2ba73474266ba2c5fa1",
|
||||
"reference": "4175c02b7d9f7e1a02cec2ba73474266ba2c5fa1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"alchemy/binary-driver": "^1.5 || ~2.0.0 || ^5.0",
|
||||
"doctrine/cache": "^1.0",
|
||||
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
|
||||
"neutron/temporary-filesystem": "^2.1.1",
|
||||
"php": "^5.3.9 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"sami/sami": "~1.0",
|
||||
"silex/silex": "~1.0",
|
||||
"symfony/phpunit-bridge": "^5.0.4"
|
||||
},
|
||||
"suggest": {
|
||||
"php-ffmpeg/extras": "A compilation of common audio & video drivers for PHP-FFMpeg"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "0.7-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"FFMpeg": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Romain Neutron",
|
||||
"email": "imprec@gmail.com",
|
||||
"homepage": "http://www.lickmychip.com/"
|
||||
},
|
||||
{
|
||||
"name": "Phraseanet Team",
|
||||
"email": "info@alchemy.fr",
|
||||
"homepage": "http://www.phraseanet.com/"
|
||||
},
|
||||
{
|
||||
"name": "Patrik Karisch",
|
||||
"email": "patrik@karisch.guru",
|
||||
"homepage": "http://www.karisch.guru"
|
||||
},
|
||||
{
|
||||
"name": "Romain Biard",
|
||||
"email": "romain.biard@gmail.com",
|
||||
"homepage": "https://www.strime.io/"
|
||||
},
|
||||
{
|
||||
"name": "Jens Hausdorf",
|
||||
"email": "hello@jens-hausdorf.de",
|
||||
"homepage": "https://jens-hausdorf.de"
|
||||
}
|
||||
],
|
||||
"description": "FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg",
|
||||
"keywords": [
|
||||
"audio",
|
||||
"audio processing",
|
||||
"avconv",
|
||||
"avprobe",
|
||||
"ffmpeg",
|
||||
"ffprobe",
|
||||
"video",
|
||||
"video processing"
|
||||
],
|
||||
"time": "2020-03-29T09:57:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpseclib/phpseclib",
|
||||
"version": "dev-master",
|
||||
|
@ -1194,6 +1519,53 @@
|
|||
],
|
||||
"time": "2016-08-06T14:39:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
"version": "1.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/log.git",
|
||||
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Log\\": "Psr/Log/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "http://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for logging libraries",
|
||||
"homepage": "https://github.com/php-fig/log",
|
||||
"keywords": [
|
||||
"log",
|
||||
"psr",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2020-03-23T09:12:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "3.0.3",
|
||||
|
@ -1302,6 +1674,104 @@
|
|||
}
|
||||
],
|
||||
"time": "2020-06-15T18:01:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v3.0.9",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d",
|
||||
"reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.9"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-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": "2016-07-20T05:43:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v2.8.52",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/c3591a09c78639822b0b290d44edb69bf9f05dc8",
|
||||
"reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.9"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.8-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": "2018-11-11T11:18:13+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -3356,53 +3826,6 @@
|
|||
],
|
||||
"time": "2017-02-14T16:28:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
"version": "1.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/log.git",
|
||||
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Log\\": "Psr/Log/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "http://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for logging libraries",
|
||||
"homepage": "https://github.com/php-fig/log",
|
||||
"keywords": [
|
||||
"log",
|
||||
"psr",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2020-03-23T09:12:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/simple-cache",
|
||||
"version": "1.0.1",
|
||||
|
@ -4375,55 +4798,6 @@
|
|||
"homepage": "https://symfony.com",
|
||||
"time": "2018-11-21T14:20:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v3.0.9",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/b2da5009d9bacbd91d83486aa1f44c793a8c380d",
|
||||
"reference": "b2da5009d9bacbd91d83486aa1f44c793a8c380d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.9"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.0-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": "2016-07-20T05:43:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v2.8.52",
|
||||
|
@ -4699,55 +5073,6 @@
|
|||
],
|
||||
"time": "2020-07-14T12:35:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v2.8.52",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/c3591a09c78639822b0b290d44edb69bf9f05dc8",
|
||||
"reference": "c3591a09c78639822b0b290d44edb69bf9f05dc8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.9"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.8-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": "2018-11-11T11:18:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/stopwatch",
|
||||
"version": "v2.8.52",
|
||||
|
|
2
vendor/alchemy/binary-driver/.gitignore
vendored
Normal file
2
vendor/alchemy/binary-driver/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/vendor/
|
||||
composer.lock
|
26
vendor/alchemy/binary-driver/.travis.yml
vendored
Normal file
26
vendor/alchemy/binary-driver/.travis.yml
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
language: php
|
||||
dist: trusty
|
||||
|
||||
sudo: false
|
||||
|
||||
php:
|
||||
- 7.0
|
||||
- 7.1
|
||||
- 7.2
|
||||
- 7.3
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: 7.0
|
||||
env: COMPOSER_REQUIRE="symfony/process:^2.0"
|
||||
- php: 7.0
|
||||
env: COMPOSER_REQUIRE="symfony/process:^3.0"
|
||||
- php: 7.2
|
||||
env: COMPOSER_REQUIRE="symfony/process:^5.0"
|
||||
- php: 7.3
|
||||
env: COMPOSER_REQUIRE="symfony/process:^5.0"
|
||||
|
||||
before_script:
|
||||
- composer self-update
|
||||
- if [ -n "$COMPOSER_REQUIRE" ]; then composer require --no-update $COMPOSER_REQUIRE; fi
|
||||
- composer update $COMPOSER_OPTIONS
|
64
vendor/alchemy/binary-driver/CHANGELOG.md
vendored
Normal file
64
vendor/alchemy/binary-driver/CHANGELOG.md
vendored
Normal file
|
@ -0,0 +1,64 @@
|
|||
CHANGELOG
|
||||
---------
|
||||
* 1.6.0 (2015-03-02)
|
||||
* BC Break: bump minimum PHP versions
|
||||
* Allow use of evenement v2.0 (thanks @patkar for the P/R)
|
||||
|
||||
* 1.5.0 (2013-06-21)
|
||||
|
||||
* BC Break : ConfigurationInterface::get does not throw exceptions anymore
|
||||
in case the key does not exist. Second argument is a default value to return
|
||||
in case the key does not exist.
|
||||
|
||||
* 1.4.1 (2013-05-23)
|
||||
|
||||
* Add third parameter to BinaryInterface::command method to pass a listener or
|
||||
an array of listener that will be registered just the time of the command.
|
||||
|
||||
* 1.4.0 (2013-05-11)
|
||||
|
||||
* Extract process run management to ProcessRunner.
|
||||
* Add support for process listeners.
|
||||
* Provides bundled DebugListener.
|
||||
* Add BinaryInterface::command method.
|
||||
* BC break : ProcessRunnerInterface::run now takes an SplObjectStorage containing
|
||||
listeners as second argument.
|
||||
* BC break : BinaryInterface no longer implements LoggerAwareInterface
|
||||
as it is now supported by ProcessRunner.
|
||||
|
||||
* 1.3.4 (2013-04-26)
|
||||
|
||||
* Add BinaryDriver::run method.
|
||||
|
||||
* 1.3.3 (2013-04-26)
|
||||
|
||||
* Add BinaryDriver::createProcessMock method.
|
||||
|
||||
* 1.3.2 (2013-04-26)
|
||||
|
||||
* Add BinaryDriverTestCase for testing BinaryDriver implementations.
|
||||
|
||||
* 1.3.1 (2013-04-24)
|
||||
|
||||
* Add timeouts handling
|
||||
|
||||
* 1.3.0 (2013-04-24)
|
||||
|
||||
* Add BinaryInterface and AbstractBinary
|
||||
|
||||
* 1.2.1 (2013-04-24)
|
||||
|
||||
* Add ConfigurationAwareInterface
|
||||
* Add ProcessBuilderAwareInterface
|
||||
|
||||
* 1.2.0 (2013-04-24)
|
||||
|
||||
* Add BinaryDriver\Configuration
|
||||
|
||||
* 1.1.0 (2013-04-24)
|
||||
|
||||
* Add support for timeouts via `setTimeout` method
|
||||
|
||||
* 1.0.0 (2013-04-23)
|
||||
|
||||
* First stable version.
|
21
vendor/alchemy/binary-driver/LICENSE
vendored
Normal file
21
vendor/alchemy/binary-driver/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
BinaryDriver is released with MIT License :
|
||||
|
||||
Copyright (c) 2013 Alchemy
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
190
vendor/alchemy/binary-driver/README.md
vendored
Normal file
190
vendor/alchemy/binary-driver/README.md
vendored
Normal file
|
@ -0,0 +1,190 @@
|
|||
# Binary Driver
|
||||
|
||||
Binary-Driver is a set of PHP tools to build binary drivers.
|
||||
|
||||
[![Build Status](https://travis-ci.org/alchemy-fr/BinaryDriver.png?branch=master)](https://travis-ci.org/alchemy-fr/BinaryDriver)
|
||||
|
||||
## Why ?
|
||||
|
||||
You may wonder *Why building a library while I can use `exec` or
|
||||
[symfony/process](https://github.com/symfony/Process) ?*.
|
||||
|
||||
Here is a simple answer :
|
||||
|
||||
- If you use `exec`, `passthru`, `system`, `proc_open` or any low level process
|
||||
handling in PHP, you should have a look to [symfony/process](https://github.com/symfony/Process)
|
||||
component that will provide an OO portable, testable and secure interface to
|
||||
deal with this. It seems easy at first approach, but if you look at this
|
||||
component [unit tests](https://github.com/symfony/Process/tree/master/Tests),
|
||||
you will see that handling process in a simple interface can easily become a
|
||||
nightmare.
|
||||
|
||||
- If you already use symfony/process, and want to build binary drivers, you
|
||||
will always have the same common set of methods and objects to configure, log,
|
||||
debug, and generate processes.
|
||||
This library is a base to implement any binary driver with this common set of
|
||||
needs.
|
||||
|
||||
## AbstractBinary
|
||||
|
||||
`AbstractBinary` provides an abstract class to build a binary driver. It implements
|
||||
`BinaryInterface`.
|
||||
|
||||
Implementation example :
|
||||
|
||||
```php
|
||||
use Alchemy\BinaryDriver\AbstractBinary;
|
||||
|
||||
class LsDriver extends AbstractBinary
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return 'ls driver';
|
||||
}
|
||||
}
|
||||
|
||||
$parser = new LsParser();
|
||||
|
||||
$driver = Driver::load('ls');
|
||||
// will return the output of `ls -a -l`
|
||||
$parser->parse($driver->command(array('-a', '-l')));
|
||||
```
|
||||
|
||||
### Binary detection troubleshooting
|
||||
|
||||
If you are using Nginx with PHP-fpm, executable detection may not work because of an empty `$_ENV['path']`.
|
||||
To avoid having an empty `PATH` environment variable, add the following line to your `fastcgi_params`
|
||||
config file (replace `/your/current/path/` with the output of `printenv PATH`) :
|
||||
|
||||
```
|
||||
fastcgi_param PATH /your/current/path
|
||||
```
|
||||
|
||||
## Logging
|
||||
|
||||
You can log events with a `Psr\Log\LoggerInterface` by passing it in the load
|
||||
method as second argument :
|
||||
|
||||
```php
|
||||
$logger = new Monolog\Logger('driver');
|
||||
$driver = Driver::load('ls', $logger);
|
||||
```
|
||||
|
||||
## Listeners
|
||||
|
||||
You can add custom listeners on processes.
|
||||
Listeners are built on top of [Evenement](https://github.com/igorw/evenement)
|
||||
and must implement `Alchemy\BinaryDriver\ListenerInterface`.
|
||||
|
||||
```php
|
||||
use Symfony\Component\Process\Process;
|
||||
|
||||
class DebugListener extends EventEmitter implements ListenerInterface
|
||||
{
|
||||
public function handle($type, $data)
|
||||
{
|
||||
foreach (explode(PHP_EOL, $data) as $line) {
|
||||
$this->emit($type === Process::ERR ? 'error' : 'out', array($line));
|
||||
}
|
||||
}
|
||||
|
||||
public function forwardedEvents()
|
||||
{
|
||||
// forward 'error' events to the BinaryInterface
|
||||
return array('error');
|
||||
}
|
||||
}
|
||||
|
||||
$listener = new DebugListener();
|
||||
|
||||
$driver = CustomImplementation::load('php');
|
||||
|
||||
// adds listener
|
||||
$driver->listen($listener);
|
||||
|
||||
$driver->on('error', function ($line) {
|
||||
echo '[ERROR] ' . $line . PHP_EOL;
|
||||
});
|
||||
|
||||
// removes listener
|
||||
$driver->unlisten($listener);
|
||||
```
|
||||
|
||||
### Bundled listeners
|
||||
|
||||
The debug listener is a simple listener to catch `stderr` and `stdout` outputs ;
|
||||
read the implementation for customization.
|
||||
|
||||
```php
|
||||
use Alchemy\BinaryDriver\Listeners\DebugListener;
|
||||
|
||||
$driver = CustomImplementation::load('php');
|
||||
$driver->listen(new DebugListener());
|
||||
|
||||
$driver->on('debug', function ($line) {
|
||||
echo $line;
|
||||
});
|
||||
```
|
||||
|
||||
## ProcessBuilderFactory
|
||||
|
||||
ProcessBuilderFactory ease spawning processes by generating Symfony [Process]
|
||||
(http://symfony.com/doc/master/components/process.html) objects.
|
||||
|
||||
```php
|
||||
use Alchemy\BinaryDriver\ProcessBuilderFactory;
|
||||
|
||||
$factory = new ProcessBuilderFactory('/usr/bin/php');
|
||||
|
||||
// return a Symfony\Component\Process\Process
|
||||
$process = $factory->create('-v');
|
||||
|
||||
// echoes '/usr/bin/php' '-v'
|
||||
echo $process->getCommandLine();
|
||||
|
||||
$process = $factory->create(array('-r', 'echo "Hello !";'));
|
||||
|
||||
// echoes '/usr/bin/php' '-r' 'echo "Hello !";'
|
||||
echo $process->getCommandLine();
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
A simple configuration object, providing an `ArrayAccess` and `IteratorAggregate`
|
||||
interface.
|
||||
|
||||
```php
|
||||
use Alchemy\BinaryDriver\Configuration;
|
||||
|
||||
$conf = new Configuration(array('timeout' => 0));
|
||||
|
||||
echo $conf->get('timeout');
|
||||
|
||||
if ($conf->has('param')) {
|
||||
$conf->remove('param');
|
||||
}
|
||||
|
||||
$conf->set('timeout', 20);
|
||||
|
||||
$conf->all();
|
||||
```
|
||||
|
||||
Same example using the `ArrayAccess` interface :
|
||||
|
||||
```php
|
||||
use Alchemy\BinaryDriver\Configuration;
|
||||
|
||||
$conf = new Configuration(array('timeout' => 0));
|
||||
|
||||
echo $conf['timeout'];
|
||||
|
||||
if (isset($conf['param'])) {
|
||||
unset($conf['param']);
|
||||
}
|
||||
|
||||
$conf['timeout'] = 20;
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This project is released under the MIT license.
|
43
vendor/alchemy/binary-driver/composer.json
vendored
Normal file
43
vendor/alchemy/binary-driver/composer.json
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"name": "alchemy/binary-driver",
|
||||
"type": "library",
|
||||
"description": "A set of tools to build binary drivers",
|
||||
"keywords": ["binary", "driver"],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Le Goff",
|
||||
"email": "legoff.n@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Romain Neutron",
|
||||
"email": "imprec@gmail.com",
|
||||
"homepage": "http://www.lickmychip.com/"
|
||||
},
|
||||
{
|
||||
"name": "Phraseanet Team",
|
||||
"email": "info@alchemy.fr",
|
||||
"homepage": "http://www.phraseanet.com/"
|
||||
},
|
||||
{
|
||||
"name": "Jens Hausdorf",
|
||||
"email": "mail@jens-hausdorf.de",
|
||||
"homepage": "https://jens-hausdorf.de",
|
||||
"role": "Maintainer"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php" : ">=5.5",
|
||||
"evenement/evenement" : "^3.0|^2.0|^1.0",
|
||||
"psr/log" : "^1.0",
|
||||
"symfony/process" : "^2.3|^3.0|^4.0|^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit" : "^4.0|^5.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Alchemy": "src"
|
||||
}
|
||||
}
|
||||
}
|
31
vendor/alchemy/binary-driver/phpunit.xml.dist
vendored
Normal file
31
vendor/alchemy/binary-driver/phpunit.xml.dist
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit backupGlobals="false"
|
||||
backupStaticAttributes="false"
|
||||
colors="true"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
processIsolation="false"
|
||||
stopOnFailure="false"
|
||||
syntaxCheck="true"
|
||||
verbose="false"
|
||||
bootstrap="tests/bootstrap.php"
|
||||
>
|
||||
<php>
|
||||
<ini name="display_errors" value="on"/>
|
||||
</php>
|
||||
|
||||
<testsuites>
|
||||
<testsuite>
|
||||
<directory>tests</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<filter>
|
||||
<blacklist>
|
||||
<directory>vendor</directory>
|
||||
<directory>tests</directory>
|
||||
</blacklist>
|
||||
</filter>
|
||||
|
||||
</phpunit>
|
||||
|
218
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
vendored
Normal file
218
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php
vendored
Normal file
|
@ -0,0 +1,218 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Alchemy\BinaryDriver.
|
||||
*
|
||||
* (c) Alchemy <info@alchemy.fr>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\BinaryDriver;
|
||||
|
||||
use Alchemy\BinaryDriver\Exception\ExecutableNotFoundException;
|
||||
use Alchemy\BinaryDriver\Exception\ExecutionFailureException;
|
||||
use Alchemy\BinaryDriver\Listeners\Listeners;
|
||||
use Alchemy\BinaryDriver\Listeners\ListenerInterface;
|
||||
use Evenement\EventEmitter;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
use Symfony\Component\Process\ExecutableFinder;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
||||
abstract class AbstractBinary extends EventEmitter implements BinaryInterface
|
||||
{
|
||||
/** @var ConfigurationInterface */
|
||||
protected $configuration;
|
||||
|
||||
/** @var ProcessBuilderFactoryInterface */
|
||||
protected $factory;
|
||||
|
||||
/** @var ProcessRunner */
|
||||
private $processRunner;
|
||||
|
||||
/** @var Listeners */
|
||||
private $listenersManager;
|
||||
|
||||
public function __construct(ProcessBuilderFactoryInterface $factory, LoggerInterface $logger, ConfigurationInterface $configuration)
|
||||
{
|
||||
$this->factory = $factory;
|
||||
$this->configuration = $configuration;
|
||||
$this->processRunner = new ProcessRunner($logger, $this->getName());
|
||||
$this->listenersManager = new Listeners();
|
||||
$this->applyProcessConfiguration();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function listen(ListenerInterface $listener)
|
||||
{
|
||||
$this->listenersManager->register($listener, $this);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function unlisten(ListenerInterface $listener)
|
||||
{
|
||||
$this->listenersManager->unregister($listener, $this);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getConfiguration()
|
||||
{
|
||||
return $this->configuration;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @return BinaryInterface
|
||||
*/
|
||||
public function setConfiguration(ConfigurationInterface $configuration)
|
||||
{
|
||||
$this->configuration = $configuration;
|
||||
$this->applyProcessConfiguration();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getProcessBuilderFactory()
|
||||
{
|
||||
return $this->factory;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
* @return BinaryInterface
|
||||
*/
|
||||
public function setProcessBuilderFactory(ProcessBuilderFactoryInterface $factory)
|
||||
{
|
||||
$this->factory = $factory;
|
||||
$this->applyProcessConfiguration();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getProcessRunner()
|
||||
{
|
||||
return $this->processRunner;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setProcessRunner(ProcessRunnerInterface $runner)
|
||||
{
|
||||
$this->processRunner = $runner;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function command($command, $bypassErrors = false, $listeners = null)
|
||||
{
|
||||
if (!is_array($command)) {
|
||||
$command = array($command);
|
||||
}
|
||||
|
||||
return $this->run($this->factory->create($command), $bypassErrors, $listeners);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function load($binaries, LoggerInterface $logger = null, $configuration = array())
|
||||
{
|
||||
$finder = new ExecutableFinder();
|
||||
$binary = null;
|
||||
$binaries = is_array($binaries) ? $binaries : array($binaries);
|
||||
|
||||
foreach ($binaries as $candidate) {
|
||||
if (file_exists($candidate) && is_executable($candidate)) {
|
||||
$binary = $candidate;
|
||||
break;
|
||||
}
|
||||
if (null !== $binary = $finder->find($candidate)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (null === $binary) {
|
||||
throw new ExecutableNotFoundException(sprintf(
|
||||
'Executable not found, proposed : %s', implode(', ', $binaries)
|
||||
));
|
||||
}
|
||||
|
||||
if (null === $logger) {
|
||||
$logger = new NullLogger();
|
||||
}
|
||||
|
||||
$configuration = $configuration instanceof ConfigurationInterface ? $configuration : new Configuration($configuration);
|
||||
|
||||
return new static(new ProcessBuilderFactory($binary), $logger, $configuration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the driver
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
abstract public function getName();
|
||||
|
||||
/**
|
||||
* Executes a process, logs events
|
||||
*
|
||||
* @param Process $process
|
||||
* @param Boolean $bypassErrors Set to true to disable throwing ExecutionFailureExceptions
|
||||
* @param ListenerInterface|array $listeners A listener or an array of listener to register for this unique run
|
||||
*
|
||||
* @return string The Process output
|
||||
*
|
||||
* @throws ExecutionFailureException in case of process failure.
|
||||
*/
|
||||
protected function run(Process $process, $bypassErrors = false, $listeners = null)
|
||||
{
|
||||
if (null !== $listeners) {
|
||||
if (!is_array($listeners)) {
|
||||
$listeners = array($listeners);
|
||||
}
|
||||
|
||||
$listenersManager = clone $this->listenersManager;
|
||||
|
||||
foreach ($listeners as $listener) {
|
||||
$listenersManager->register($listener, $this);
|
||||
}
|
||||
} else {
|
||||
$listenersManager = $this->listenersManager;
|
||||
}
|
||||
|
||||
return $this->processRunner->run($process, $listenersManager->storage, $bypassErrors);
|
||||
}
|
||||
|
||||
private function applyProcessConfiguration()
|
||||
{
|
||||
if ($this->configuration->has('timeout')) {
|
||||
$this->factory->setTimeout($this->configuration->get('timeout'));
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
76
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
vendored
Normal file
76
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryDriverTestCase.php
vendored
Normal file
|
@ -0,0 +1,76 @@
|
|||
<?php
|
||||
|
||||
namespace Alchemy\BinaryDriver;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
||||
/**
|
||||
* Convenient PHPUnit methods for testing BinaryDriverInterface implementations.
|
||||
*/
|
||||
class BinaryDriverTestCase extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @return ProcessBuilderFactoryInterface
|
||||
*/
|
||||
public function createProcessBuilderFactoryMock()
|
||||
{
|
||||
return $this->getMock('Alchemy\BinaryDriver\ProcessBuilderFactoryInterface');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param integer $runs The number of runs expected
|
||||
* @param Boolean $success True if the process expects to be successfull
|
||||
* @param string $commandLine The commandline executed
|
||||
* @param string $output The process output
|
||||
* @param string $error The process error output
|
||||
*
|
||||
* @return Process
|
||||
*/
|
||||
public function createProcessMock($runs = 1, $success = true, $commandLine = null, $output = null, $error = null, $callback = false)
|
||||
{
|
||||
$process = $this->getMockBuilder('Symfony\Component\Process\Process')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$builder = $process->expects($this->exactly($runs))
|
||||
->method('run');
|
||||
|
||||
if (true === $callback) {
|
||||
$builder->with($this->isInstanceOf('Closure'));
|
||||
}
|
||||
|
||||
$process->expects($this->any())
|
||||
->method('isSuccessful')
|
||||
->will($this->returnValue($success));
|
||||
|
||||
foreach (array(
|
||||
'getOutput' => $output,
|
||||
'getErrorOutput' => $error,
|
||||
'getCommandLine' => $commandLine,
|
||||
) as $command => $value) {
|
||||
$process
|
||||
->expects($this->any())
|
||||
->method($command)
|
||||
->will($this->returnValue($value));
|
||||
}
|
||||
|
||||
return $process;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return LoggerInterface
|
||||
*/
|
||||
public function createLoggerMock()
|
||||
{
|
||||
return $this->getMock('Psr\Log\LoggerInterface');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ConfigurationInterface
|
||||
*/
|
||||
public function createConfigurationMock()
|
||||
{
|
||||
return $this->getMock('Alchemy\BinaryDriver\ConfigurationInterface');
|
||||
}
|
||||
}
|
67
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryInterface.php
vendored
Normal file
67
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/BinaryInterface.php
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Alchemy\BinaryDriver.
|
||||
*
|
||||
* (c) Alchemy <info@alchemy.fr>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\BinaryDriver;
|
||||
|
||||
use Alchemy\BinaryDriver\Exception\ExecutableNotFoundException;
|
||||
use Alchemy\BinaryDriver\Exception\ExecutionFailureException;
|
||||
use Alchemy\BinaryDriver\Listeners\ListenerInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Evenement\EventEmitterInterface;
|
||||
|
||||
interface BinaryInterface extends ConfigurationAwareInterface, ProcessBuilderFactoryAwareInterface, ProcessRunnerAwareInterface, EventEmitterInterface
|
||||
{
|
||||
/**
|
||||
* Adds a listener to the binary driver
|
||||
*
|
||||
* @param ListenerInterface $listener
|
||||
*
|
||||
* @return BinaryInterface
|
||||
*/
|
||||
public function listen(ListenerInterface $listener);
|
||||
|
||||
/**
|
||||
* Removes a listener from the binary driver
|
||||
*
|
||||
* @param ListenerInterface $listener
|
||||
*
|
||||
* @return BinaryInterface
|
||||
*/
|
||||
public function unlisten(ListenerInterface $listener);
|
||||
|
||||
/**
|
||||
* Runs a command against the driver.
|
||||
*
|
||||
* Calling this method on a `ls` driver with the command `-a` would run `ls -a`.
|
||||
*
|
||||
* @param array|string $command A command or an array of command
|
||||
* @param Boolean $bypassErrors If set to true, an erronous process will not throw an exception
|
||||
* @param ListenerInterface|array $listeners A listener or an array of listeners to register for this unique run
|
||||
*
|
||||
* @return string The command output
|
||||
*
|
||||
* @throws ExecutionFailureException in case of process failure.
|
||||
*/
|
||||
public function command($command, $bypassErrors = false, $listeners = null);
|
||||
|
||||
/**
|
||||
* Loads a binary
|
||||
*
|
||||
* @param string|array $binaries A binary name or an array of binary names
|
||||
* @param null|LoggerInterface $logger A Logger
|
||||
* @param array|ConfigurationInterface $configuration The configuration
|
||||
*
|
||||
* @throws ExecutableNotFoundException In case none of the binaries were found
|
||||
*
|
||||
* @return BinaryInterface
|
||||
*/
|
||||
public static function load($binaries, LoggerInterface $logger = null, $configuration = array());
|
||||
}
|
107
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Configuration.php
vendored
Normal file
107
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/Configuration.php
vendored
Normal file
|
@ -0,0 +1,107 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Alchemy\BinaryDriver.
|
||||
*
|
||||
* (c) Alchemy <info@alchemy.fr>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\BinaryDriver;
|
||||
|
||||
class Configuration implements ConfigurationInterface
|
||||
{
|
||||
private $data;
|
||||
|
||||
public function __construct(array $data = array())
|
||||
{
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new \ArrayIterator($this->data);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get($key, $default = null)
|
||||
{
|
||||
return isset($this->data[$key]) ? $this->data[$key] : $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function set($key, $value)
|
||||
{
|
||||
$this->data[$key] = $value;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function has($key)
|
||||
{
|
||||
return array_key_exists($key, $this->data);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function remove($key)
|
||||
{
|
||||
$value = $this->get($key);
|
||||
unset($this->data[$key]);
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function all()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return $this->has($offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return $this->get($offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
$this->set($offset, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
$this->remove($offset);
|
||||
}
|
||||
}
|
29
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationAwareInterface.php
vendored
Normal file
29
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationAwareInterface.php
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Alchemy\BinaryDriver.
|
||||
*
|
||||
* (c) Alchemy <info@alchemy.fr>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\BinaryDriver;
|
||||
|
||||
interface ConfigurationAwareInterface
|
||||
{
|
||||
/**
|
||||
* Returns the configuration
|
||||
*
|
||||
* @return ConfigurationInterface
|
||||
*/
|
||||
public function getConfiguration();
|
||||
|
||||
/**
|
||||
* Set the configuration
|
||||
*
|
||||
* @param ConfigurationInterface $configuration
|
||||
*/
|
||||
public function setConfiguration(ConfigurationInterface $configuration);
|
||||
}
|
58
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationInterface.php
vendored
Normal file
58
vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ConfigurationInterface.php
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Alchemy\BinaryDriver.
|
||||
*
|
||||
* (c) Alchemy <info@alchemy.fr>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\BinaryDriver;
|
||||
|
||||
interface ConfigurationInterface extends \ArrayAccess, \IteratorAggregate
|
||||
{
|
||||
/**
|
||||
* Returns the value given a key from configuration
|
||||
*
|
||||
* @param string $key
|
||||
* @param mixed $default The default value in case the key does not exist
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function get($key, $default = null);
|
||||
|
||||
/**
|
||||
* Set a value to configuration
|
||||
*
|
||||
* @param string $key The key
|
||||