Issue #1977570 by RobLoach: Update third-party vendors and fix composer.json

8.0.x
catch 2013-05-13 22:20:18 +01:00
parent e5fbed4c39
commit ef326513c5
545 changed files with 5458 additions and 8671 deletions

View File

@ -4,22 +4,22 @@
"type": "drupal-core",
"license": "GPL-2.0+",
"require": {
"symfony/class-loader": "2.2.0",
"symfony/dependency-injection": "2.2.0",
"symfony/event-dispatcher": "2.2.0",
"symfony/http-foundation": "2.2.0",
"symfony/http-kernel": "2.2.0",
"symfony/routing": "2.2.0",
"symfony/serializer": "2.2.0",
"symfony/validator": "2.2.0",
"symfony/yaml": "2.2.0",
"twig/twig": "1.12.1",
"doctrine/common": "2.3.0",
"guzzle/http": "3.1.0",
"kriswallsmith/assetic": "1.1.0-alpha1",
"symfony-cmf/routing": "dev-master#ea4a10",
"easyrdf/easyrdf": "0.8.0-beta.1",
"phpunit/phpunit": "3.7.15"
"symfony/class-loader": "2.2.*",
"symfony/dependency-injection": "2.2.*",
"symfony/event-dispatcher": "2.2.*",
"symfony/http-foundation": "2.2.*",
"symfony/http-kernel": "2.2.*",
"symfony/routing": "2.2.*",
"symfony/serializer": "2.2.*",
"symfony/validator": "2.2.*",
"symfony/yaml": "2.2.*",
"twig/twig": "1.12.*",
"doctrine/common": "2.3.*",
"guzzle/http": "3.1.*",
"kriswallsmith/assetic": "1.1.*@alpha",
"symfony-cmf/routing": "1.1.*@alpha",
"easyrdf/easyrdf": "0.8.*@beta",
"phpunit/phpunit": "3.7.*"
},
"autoload": {
"psr-0": {
@ -28,8 +28,8 @@
"Drupal\\Driver": "drivers/lib/"
}
},
"minimum-stability": "dev",
"config": {
"vendor-dir": "core/vendor"
"vendor-dir": "core/vendor",
"preferred-install": "dist"
}
}

317
composer.lock generated
View File

@ -1,5 +1,9 @@
{
"hash": "6b1bf50f976af5d14628f38478885c0f",
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
],
"hash": "8969a2b9cb8e5b12a6649cadfa010bab",
"packages": [
{
"name": "doctrine/common",
@ -53,7 +57,7 @@
"email": "kontakt@beberlei.de"
},
{
"name": "Johannes Schmitt",
"name": "Johannes M. Schmitt",
"email": "schmittjoh@gmail.com",
"homepage": "https://github.com/schmittjoh",
"role": "Developer of wrapped JMSSerializerBundle"
@ -126,17 +130,17 @@
},
{
"name": "guzzle/common",
"version": "v3.1.0",
"version": "v3.1.2",
"target-dir": "Guzzle/Common",
"source": {
"type": "git",
"url": "git://github.com/guzzle/common.git",
"reference": "v3.1.0"
"reference": "v3.1.2"
},
"dist": {
"type": "zip",
"url": "https://github.com/guzzle/common/archive/v3.1.0.zip",
"reference": "v3.1.0",
"url": "https://github.com/guzzle/common/archive/v3.1.2.zip",
"reference": "v3.1.2",
"shasum": ""
},
"require": {
@ -166,30 +170,32 @@
"event",
"exception"
],
"time": "2013-01-13 05:14:34"
"time": "2013-01-28 00:07:40"
},
{
"name": "guzzle/http",
"version": "v3.1.0",
"version": "v3.1.2",
"target-dir": "Guzzle/Http",
"source": {
"type": "git",
"url": "git://github.com/guzzle/http.git",
"reference": "v3.1.0"
"reference": "v3.1.2"
},
"dist": {
"type": "zip",
"url": "https://github.com/guzzle/http/archive/v3.1.0.zip",
"reference": "v3.1.0",
"url": "https://github.com/guzzle/http/archive/v3.1.2.zip",
"reference": "v3.1.2",
"shasum": ""
},
"require": {
"ext-curl": "*",
"guzzle/common": "self.version",
"guzzle/parser": "self.version",
"guzzle/stream": "self.version",
"php": ">=5.3.2"
},
"suggest": {
"ext-curl": "*"
},
"type": "library",
"extra": {
"branch-alias": {
@ -221,21 +227,21 @@
"http",
"http client"
],
"time": "2013-01-13 05:09:32"
"time": "2013-01-26 08:20:43"
},
{
"name": "guzzle/parser",
"version": "v3.1.0",
"version": "v3.1.2",
"target-dir": "Guzzle/Parser",
"source": {
"type": "git",
"url": "git://github.com/guzzle/parser.git",
"reference": "v3.1.0"
"reference": "v3.1.2"
},
"dist": {
"type": "zip",
"url": "https://github.com/guzzle/parser/archive/v3.1.0.zip",
"reference": "v3.1.0",
"url": "https://github.com/guzzle/parser/archive/v3.1.2.zip",
"reference": "v3.1.2",
"shasum": ""
},
"require": {
@ -269,17 +275,17 @@
},
{
"name": "guzzle/stream",
"version": "v3.1.0",
"version": "v3.1.2",
"target-dir": "Guzzle/Stream",
"source": {
"type": "git",
"url": "https://github.com/guzzle/stream",
"reference": "v3.1.0"
"reference": "v3.0.7"
},
"dist": {
"type": "zip",
"url": "https://github.com/guzzle/stream/archive/v3.1.0.zip",
"reference": "v3.1.0",
"url": "https://github.com/guzzle/stream/archive/v3.0.7.zip",
"reference": "v3.0.7",
"shasum": ""
},
"require": {
@ -319,31 +325,38 @@
},
{
"name": "kriswallsmith/assetic",
"version": "v1.1.0-alpha1",
"version": "v1.1.0-alpha4",
"source": {
"type": "git",
"url": "http://github.com/kriswallsmith/assetic.git",
"reference": "v1.1.0-alpha1"
"url": "https://github.com/kriswallsmith/assetic.git",
"reference": "v1.1.0-alpha4"
},
"dist": {
"type": "zip",
"url": "https://github.com/kriswallsmith/assetic/zipball/v1.1.0-alpha1",
"reference": "v1.1.0-alpha1",
"url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/v1.1.0-alpha4",
"reference": "v1.1.0-alpha4",
"shasum": ""
},
"require": {
"php": ">=5.3.1",
"symfony/process": "2.1.*"
"symfony/process": ">=2.1.0,<2.3-dev"
},
"require-dev": {
"cssmin/cssmin": "*",
"joliclic/javascript-packer": "*",
"kamicane/packager": "*",
"leafo/lessphp": "*",
"leafo/scssphp": "*",
"leafo/scssphp-compass": "*",
"mrclay/minify": "*",
"phpunit/phpunit": "3.7.*",
"ptachoire/cssembed": "*",
"twig/twig": ">=1.6.0,<2.0"
},
"suggest": {
"leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler",
"leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler",
"leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin",
"ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris",
"twig/twig": "Assetic provides the integration with the Twig templating engine"
},
@ -356,7 +369,10 @@
"autoload": {
"psr-0": {
"Assetic": "src/"
}
},
"files": [
"src/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@ -376,11 +392,11 @@
"compression",
"minification"
],
"time": "2012-08-28 05:33:44"
"time": "2013-02-24 17:22:20"
},
{
"name": "phpunit/php-code-coverage",
"version": "1.2.x-dev",
"version": "1.2.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
@ -433,16 +449,16 @@
},
{
"name": "phpunit/php-file-iterator",
"version": "dev-master",
"version": "1.3.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "2deb24c65ea78e126daa8d45b2089ddc29ec1d26"
"url": "git://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "1.3.3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2deb24c65ea78e126daa8d45b2089ddc29ec1d26",
"reference": "2deb24c65ea78e126daa8d45b2089ddc29ec1d26",
"url": "https://github.com/sebastianbergmann/php-file-iterator/zipball/1.3.3",
"reference": "1.3.3",
"shasum": ""
},
"require": {
@ -469,25 +485,25 @@
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"homepage": "http://www.phpunit.de/",
"keywords": [
"filesystem",
"iterator"
],
"time": "2013-01-07 10:47:05"
"time": "2012-10-11 04:44:38"
},
{
"name": "phpunit/php-text-template",
"version": "dev-master",
"version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "1eeef106193d2f8c539728e566bb4793071a9e18"
"url": "git://github.com/sebastianbergmann/php-text-template.git",
"reference": "1.1.4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/1eeef106193d2f8c539728e566bb4793071a9e18",
"reference": "1eeef106193d2f8c539728e566bb4793071a9e18",
"url": "https://github.com/sebastianbergmann/php-text-template/zipball/1.1.4",
"reference": "1.1.4",
"shasum": ""
},
"require": {
@ -518,20 +534,20 @@
"keywords": [
"template"
],
"time": "2013-01-07 10:56:17"
"time": "2012-10-31 11:15:28"
},
{
"name": "phpunit/php-timer",
"version": "1.0.x-dev",
"version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "ecf7920b27003a9412b07dad79dbb5ad1249e6c3"
"url": "git://github.com/sebastianbergmann/php-timer.git",
"reference": "1.0.4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/ecf7920b27003a9412b07dad79dbb5ad1249e6c3",
"reference": "ecf7920b27003a9412b07dad79dbb5ad1249e6c3",
"url": "https://github.com/sebastianbergmann/php-timer/zipball/1.0.4",
"reference": "1.0.4",
"shasum": ""
},
"require": {
@ -558,24 +574,24 @@
}
],
"description": "Utility class for timing",
"homepage": "https://github.com/sebastianbergmann/php-timer/",
"homepage": "http://www.phpunit.de/",
"keywords": [
"timer"
],
"time": "2013-01-30 06:08:51"
"time": "2012-10-11 04:45:58"
},
{
"name": "phpunit/php-token-stream",
"version": "dev-master",
"version": "1.1.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "c25dd88e1592e66dee2553c99ef244203d5a1b98"
"url": "git://github.com/sebastianbergmann/php-token-stream.git",
"reference": "1.1.5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c25dd88e1592e66dee2553c99ef244203d5a1b98",
"reference": "c25dd88e1592e66dee2553c99ef244203d5a1b98",
"url": "https://github.com/sebastianbergmann/php-token-stream/zipball/1.1.5",
"reference": "1.1.5",
"shasum": ""
},
"require": {
@ -603,24 +619,24 @@
}
],
"description": "Wrapper around PHP's tokenizer extension.",
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
"homepage": "http://www.phpunit.de/",
"keywords": [
"tokenizer"
],
"time": "2013-01-07 10:56:35"
"time": "2012-10-11 04:47:14"
},
{
"name": "phpunit/phpunit",
"version": "3.7.15",
"version": "3.7.19",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "3.7.15"
"reference": "3.7.19"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3.7.15",
"reference": "3.7.15",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3.7.19",
"reference": "3.7.19",
"shasum": ""
},
"require": {
@ -634,7 +650,7 @@
"phpunit/php-text-template": ">=1.1.1",
"phpunit/php-timer": ">=1.0.2,<1.1.0",
"phpunit/phpunit-mock-objects": ">=1.2.0,<1.3.0",
"symfony/yaml": ">=2.2.0"
"symfony/yaml": ">=2.0.0,<2.3.0"
},
"require-dev": {
"pear-pear/pear": "1.9.4"
@ -681,20 +697,20 @@
"testing",
"xunit"
],
"time": "2013-03-01 11:55:06"
"time": "2013-03-25 11:45:06"
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "1.2.x-dev",
"version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "d49b5683200b5db9b1c64cb06f52f50d147891c4"
"url": "git://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "1.2.3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/d49b5683200b5db9b1c64cb06f52f50d147891c4",
"reference": "d49b5683200b5db9b1c64cb06f52f50d147891c4",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects/archive/1.2.3.zip",
"reference": "1.2.3",
"shasum": ""
},
"require": {
@ -730,7 +746,7 @@
"mock",
"xunit"
],
"time": "2013-02-05 07:46:41"
"time": "2013-01-13 10:24:48"
},
{
"name": "psr/log",
@ -772,28 +788,32 @@
},
{
"name": "symfony-cmf/routing",
"version": "dev-master",
"version": "1.1.0-alpha1",
"target-dir": "Symfony/Cmf/Component/Routing",
"source": {
"type": "git",
"url": "https://github.com/symfony-cmf/Routing.git",
"reference": "ea4a10"
"reference": "1.1.0-alpha1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/43585d83fb07f9354c098fcae593010567f53d45",
"reference": "ea4a10",
"url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/1.1.0-alpha1",
"reference": "1.1.0-alpha1",
"shasum": ""
},
"require": {
"php": ">=5.3.2",
"symfony/http-kernel": ">=2.1,<2.3-dev",
"symfony/routing": ">=2.1,<2.3-dev"
"psr/log": ">=1.0,<2.0",
"symfony/http-kernel": ">=2.2,<2.3-dev",
"symfony/routing": ">=2.2,<2.3-dev"
},
"suggest": {
"symfony/http-foundation": "ChainRouter/DynamicRouter have optional support for Request instances, several enhancers require a Request instances, >=2.2,<2.3-dev"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
"dev-master": "1.1-dev"
}
},
"autoload": {
@ -817,21 +837,21 @@
"database",
"routing"
],
"time": "2013-01-21 20:33:16"
"time": "2013-05-07 06:30:59"
},
{
"name": "symfony/class-loader",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/ClassLoader",
"source": {
"type": "git",
"url": "https://github.com/symfony/ClassLoader.git",
"reference": "v2.2.0"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/ClassLoader/zipball/v2.2.0",
"reference": "v2.2.0",
"url": "https://api.github.com/repos/symfony/ClassLoader/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -867,21 +887,21 @@
],
"description": "Symfony ClassLoader Component",
"homepage": "http://symfony.com",
"time": "2013-03-01 06:43:14"
"time": "2013-03-19 08:32:26"
},
{
"name": "symfony/dependency-injection",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/DependencyInjection",
"source": {
"type": "git",
"url": "https://github.com/symfony/DependencyInjection.git",
"reference": "v2.2.0-RC3"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/v2.2.0-RC3",
"reference": "v2.2.0-RC3",
"url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -922,21 +942,21 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "http://symfony.com",
"time": "2013-02-11 11:43:49"
"time": "2013-03-23 07:49:54"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/EventDispatcher.git",
"reference": "v2.2.0-RC3"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/v2.2.0-RC3",
"reference": "v2.2.0-RC3",
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -980,17 +1000,17 @@
},
{
"name": "symfony/http-foundation",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/HttpFoundation",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpFoundation.git",
"reference": "v2.2.0"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/v2.2.0",
"reference": "v2.2.0",
"url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -1026,21 +1046,21 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "http://symfony.com",
"time": "2013-02-26 09:42:13"
"time": "2013-04-06 10:15:43"
},
{
"name": "symfony/http-kernel",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/HttpKernel",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpKernel.git",
"reference": "v2.2.0"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/v2.2.0",
"reference": "v2.2.0",
"url": "https://api.github.com/repos/symfony/HttpKernel/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -1095,30 +1115,35 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "http://symfony.com",
"time": "2013-03-01 06:52:29"
"time": "2013-04-06 10:16:33"
},
{
"name": "symfony/process",
"version": "2.1.x-dev",
"version": "v2.2.1",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
"reference": "v2.1.8"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Process/zipball/v2.1.8",
"reference": "v2.1.8",
"url": "https://api.github.com/repos/symfony/Process/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Process": ""
"Symfony\\Component\\Process\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@ -1137,21 +1162,21 @@
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
"time": "2013-02-18 21:27:57"
"time": "2013-03-23 07:49:54"
},
{
"name": "symfony/routing",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/Routing",
"source": {
"type": "git",
"url": "https://github.com/symfony/Routing.git",
"reference": "v2.2.0-RC3"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Routing/zipball/v2.2.0-RC3",
"reference": "v2.2.0-RC3",
"url": "https://api.github.com/repos/symfony/Routing/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -1195,21 +1220,21 @@
],
"description": "Symfony Routing Component",
"homepage": "http://symfony.com",
"time": "2013-02-11 11:24:47"
"time": "2013-03-23 12:03:22"
},
{
"name": "symfony/serializer",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/Serializer",
"source": {
"type": "git",
"url": "https://github.com/symfony/Serializer.git",
"reference": "v2.2.0-RC3"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Serializer/zipball/v2.2.0-RC3",
"reference": "v2.2.0-RC3",
"url": "https://api.github.com/repos/symfony/Serializer/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -1242,28 +1267,28 @@
],
"description": "Symfony Serializer Component",
"homepage": "http://symfony.com",
"time": "2013-01-19 07:50:02"
"time": "2013-03-06 21:43:23"
},
{
"name": "symfony/translation",
"version": "dev-master",
"version": "v2.2.1",
"target-dir": "Symfony/Component/Translation",
"source": {
"type": "git",
"url": "https://github.com/symfony/Translation.git",
"reference": "10164d84c407fd9ac5918172f86a4b94bf2b9c0b"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Translation/zipball/10164d84c407fd9ac5918172f86a4b94bf2b9c0b",
"reference": "10164d84c407fd9ac5918172f86a4b94bf2b9c0b",
"url": "https://api.github.com/repos/symfony/Translation/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/config": ">=2.0,<2.4-dev",
"symfony/config": ">=2.0,<2.3-dev",
"symfony/yaml": ">=2.2,<3.0"
},
"suggest": {
@ -1273,7 +1298,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
"dev-master": "2.2-dev"
}
},
"autoload": {
@ -1297,21 +1322,21 @@
],
"description": "Symfony Translation Component",
"homepage": "http://symfony.com",
"time": "2013-02-11 10:13:11"
"time": "2013-04-01 08:06:05"
},
{
"name": "symfony/validator",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/Validator",
"source": {
"type": "git",
"url": "https://github.com/symfony/Validator.git",
"reference": "v2.2.0"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Validator/zipball/v2.2.0",
"reference": "v2.2.0",
"url": "https://api.github.com/repos/symfony/Validator/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -1358,21 +1383,21 @@
],
"description": "Symfony Validator Component",
"homepage": "http://symfony.com",
"time": "2013-02-28 14:29:34"
"time": "2013-04-01 08:06:05"
},
{
"name": "symfony/yaml",
"version": "v2.2.0",
"version": "v2.2.1",
"target-dir": "Symfony/Component/Yaml",
"source": {
"type": "git",
"url": "https://github.com/symfony/Yaml.git",
"reference": "v2.2.0-RC3"
"reference": "v2.2.1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/v2.2.0-RC3",
"reference": "v2.2.0-RC3",
"url": "https://api.github.com/repos/symfony/Yaml/zipball/v2.2.1",
"reference": "v2.2.1",
"shasum": ""
},
"require": {
@ -1405,20 +1430,20 @@
],
"description": "Symfony Yaml Component",
"homepage": "http://symfony.com",
"time": "2013-01-27 16:49:19"
"time": "2013-03-23 07:49:54"
},
{
"name": "twig/twig",
"version": "v1.12.1",
"version": "v1.12.3",
"source": {
"type": "git",
"url": "git://github.com/fabpot/Twig.git",
"reference": "v1.12.1"
"url": "https://github.com/fabpot/Twig.git",
"reference": "v1.12.3"
},
"dist": {
"type": "zip",
"url": "https://github.com/fabpot/Twig/archive/v1.12.1.zip",
"reference": "v1.12.1",
"url": "https://api.github.com/repos/fabpot/Twig/zipball/v1.12.3",
"reference": "v1.12.3",
"shasum": ""
},
"require": {
@ -1454,7 +1479,7 @@
"keywords": [
"templating"
],
"time": "2013-01-15 20:03:52"
"time": "2013-04-08 12:40:11"
}
],
"packages-dev": [
@ -1463,10 +1488,16 @@
"aliases": [
],
"minimum-stability": "dev",
"minimum-stability": "stable",
"stability-flags": {
"kriswallsmith/assetic": 15,
"symfony-cmf/routing": 20,
"symfony-cmf/routing": 15,
"easyrdf/easyrdf": 10
}
},
"platform": [
],
"platform-dev": [
]
}

16
core/.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
# SimpleTest breaks with the following files, so avoid adding them.
vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
# The resources for the Validator component are not required.
vendor/symfony/validator/Symfony/Component/Validator/Resources
# Symfony Validator depends on Symfony Translation but only requires the
# TranslatorInterface. Thus, we add only the required interface from Symfony
# Translation by ignoring everything except the interface.
vendor/symfony/translation/Symfony/Component/Translation/*
!vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php
# PHPUnit provides some binary dependencies that are already available.
vendor/phpunit/phpunit/build/dependencies

View File

@ -1,14 +0,0 @@
# SimpleTest breaks with the following files, so avoid adding them.
symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
# The resources for the Validator component are not required.
symfony/validator/Symfony/Component/Validator/Resources
# Symfony Validator depends on Symfony Translation but only requires the
# TranslatorInterface. Thus, we add only the required interface from Symfony
# Translation by ignoring everything except the interface.
symfony/translation/Symfony/Component/Translation/*
!symfony/translation/Symfony/Component/Translation/TranslatorInterface.php

View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1::getLoader();
return ComposerAutoloaderInitc244582ae2d491644d70197d64a9670b::getLoader();

View File

@ -49,7 +49,7 @@ class ClassLoader
public function getPrefixes()
{
return $this->prefixes;
return call_user_func_array('array_merge', $this->prefixes);
}
public function getFallbackDirs()
@ -98,19 +98,21 @@ class ClassLoader
return;
}
if (!isset($this->prefixes[$prefix])) {
$this->prefixes[$prefix] = (array) $paths;
$first = $prefix[0];
if (!isset($this->prefixes[$first][$prefix])) {
$this->prefixes[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixes[$prefix] = array_merge(
$this->prefixes[$first][$prefix] = array_merge(
(array) $paths,
$this->prefixes[$prefix]
$this->prefixes[$first][$prefix]
);
} else {
$this->prefixes[$prefix] = array_merge(
$this->prefixes[$prefix],
$this->prefixes[$first][$prefix] = array_merge(
$this->prefixes[$first][$prefix],
(array) $paths
);
}
@ -129,7 +131,7 @@ class ClassLoader
return;
}
$this->prefixes[$prefix] = (array) $paths;
$this->prefixes[substr($prefix, 0, 1)][$prefix] = (array) $paths;
}
/**
@ -175,7 +177,7 @@ class ClassLoader
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return bool|null True, if loaded
* @return bool|null True if loaded, null otherwise
*/
public function loadClass($class)
{
@ -191,7 +193,7 @@ class ClassLoader
*
* @param string $class The name of the class
*
* @return string|null The path, if found
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
@ -205,7 +207,7 @@ class ClassLoader
if (false !== $pos = strrpos($class, '\\')) {
// namespaced class name
$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)) . DIRECTORY_SEPARATOR;
$classPath = strtr(substr($class, 0, $pos), '\\', DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
$className = substr($class, $pos + 1);
} else {
// PEAR-like class name
@ -213,13 +215,16 @@ class ClassLoader
$className = $class;
}
$classPath .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
$classPath .= strtr($className, '_', DIRECTORY_SEPARATOR) . '.php';
foreach ($this->prefixes as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
return $dir . DIRECTORY_SEPARATOR . $classPath;
$first = $class[0];
if (isset($this->prefixes[$first])) {
foreach ($this->prefixes[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
return $dir . DIRECTORY_SEPARATOR . $classPath;
}
}
}
}

View File

@ -2,351 +2,351 @@
// autoload_classmap.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname($vendorDir));
return array(
'File_Iterator' => $baseDir . '/vendor/phpunit/php-file-iterator/File/Iterator.php',
'File_Iterator_Facade' => $baseDir . '/vendor/phpunit/php-file-iterator/File/Iterator/Facade.php',
'File_Iterator_Factory' => $baseDir . '/vendor/phpunit/php-file-iterator/File/Iterator/Factory.php',
'PHPUnit_Extensions_GroupTestSuite' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/GroupTestSuite.php',
'PHPUnit_Extensions_PhptTestCase' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/PhptTestCase.php',
'PHPUnit_Extensions_PhptTestCase_Logger' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/PhptTestCase/Logger.php',
'PHPUnit_Extensions_PhptTestSuite' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/PhptTestSuite.php',
'PHPUnit_Extensions_RepeatedTest' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/RepeatedTest.php',
'PHPUnit_Extensions_TestDecorator' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/TestDecorator.php',
'PHPUnit_Extensions_TicketListener' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Extensions/TicketListener.php',
'PHPUnit_Framework_Assert' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Assert.php',
'PHPUnit_Framework_AssertionFailedError' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/AssertionFailedError.php',
'PHPUnit_Framework_Comparator' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator.php',
'PHPUnit_Framework_ComparatorFactory' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/ComparatorFactory.php',
'PHPUnit_Framework_Comparator_Array' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Array.php',
'PHPUnit_Framework_Comparator_DOMDocument' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/DOMDocument.php',
'PHPUnit_Framework_Comparator_Double' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Double.php',
'PHPUnit_Framework_Comparator_Exception' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Exception.php',
'PHPUnit_Framework_Comparator_MockObject' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/MockObject.php',
'PHPUnit_Framework_Comparator_Numeric' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Numeric.php',
'PHPUnit_Framework_Comparator_Object' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Object.php',
'PHPUnit_Framework_Comparator_Resource' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Resource.php',
'PHPUnit_Framework_Comparator_Scalar' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Scalar.php',
'PHPUnit_Framework_Comparator_SplObjectStorage' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/SplObjectStorage.php',
'PHPUnit_Framework_Comparator_Type' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Comparator/Type.php',
'PHPUnit_Framework_ComparisonFailure' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/ComparisonFailure.php',
'PHPUnit_Framework_Constraint' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint.php',
'PHPUnit_Framework_Constraint_And' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/And.php',
'PHPUnit_Framework_Constraint_ArrayHasKey' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/ArrayHasKey.php',
'PHPUnit_Framework_Constraint_Attribute' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Attribute.php',
'PHPUnit_Framework_Constraint_Callback' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Callback.php',
'PHPUnit_Framework_Constraint_ClassHasAttribute' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/ClassHasAttribute.php',
'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/ClassHasStaticAttribute.php',
'PHPUnit_Framework_Constraint_Composite' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Composite.php',
'PHPUnit_Framework_Constraint_Count' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Count.php',
'PHPUnit_Framework_Constraint_Exception' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Exception.php',
'PHPUnit_Framework_Constraint_ExceptionCode' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/ExceptionCode.php',
'PHPUnit_Framework_Constraint_ExceptionMessage' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/ExceptionMessage.php',
'PHPUnit_Framework_Constraint_FileExists' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/FileExists.php',
'PHPUnit_Framework_Constraint_GreaterThan' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/GreaterThan.php',
'PHPUnit_Framework_Constraint_IsAnything' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsAnything.php',
'PHPUnit_Framework_Constraint_IsEmpty' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsEmpty.php',
'PHPUnit_Framework_Constraint_IsEqual' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsEqual.php',
'PHPUnit_Framework_Constraint_IsFalse' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsFalse.php',
'PHPUnit_Framework_Constraint_IsIdentical' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsIdentical.php',
'PHPUnit_Framework_Constraint_IsInstanceOf' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsInstanceOf.php',
'PHPUnit_Framework_Constraint_IsNull' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsNull.php',
'PHPUnit_Framework_Constraint_IsTrue' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsTrue.php',
'PHPUnit_Framework_Constraint_IsType' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/IsType.php',
'PHPUnit_Framework_Constraint_JsonMatches' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/JsonMatches.php',
'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
'PHPUnit_Framework_Constraint_LessThan' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/LessThan.php',
'PHPUnit_Framework_Constraint_Not' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Not.php',
'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/ObjectHasAttribute.php',
'PHPUnit_Framework_Constraint_Or' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Or.php',
'PHPUnit_Framework_Constraint_PCREMatch' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/PCREMatch.php',
'PHPUnit_Framework_Constraint_SameSize' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/SameSize.php',
'PHPUnit_Framework_Constraint_StringContains' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/StringContains.php',
'PHPUnit_Framework_Constraint_StringEndsWith' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/StringEndsWith.php',
'PHPUnit_Framework_Constraint_StringMatches' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/StringMatches.php',
'PHPUnit_Framework_Constraint_StringStartsWith' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/StringStartsWith.php',
'PHPUnit_Framework_Constraint_TraversableContains' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/TraversableContains.php',
'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/TraversableContainsOnly.php',
'PHPUnit_Framework_Constraint_Xor' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Constraint/Xor.php',
'PHPUnit_Framework_Error' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Error.php',
'PHPUnit_Framework_Error_Deprecated' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Error/Deprecated.php',
'PHPUnit_Framework_Error_Notice' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Error/Notice.php',
'PHPUnit_Framework_Error_Warning' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Error/Warning.php',
'PHPUnit_Framework_Exception' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Exception.php',
'PHPUnit_Framework_ExpectationFailedException' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/ExpectationFailedException.php',
'PHPUnit_Framework_IncompleteTest' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/IncompleteTest.php',
'PHPUnit_Framework_IncompleteTestError' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/IncompleteTestError.php',
'PHPUnit_Framework_MockObject_Builder_Identity' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Identity.php',
'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/InvocationMocker.php',
'PHPUnit_Framework_MockObject_Builder_Match' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Match.php',
'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/MethodNameMatch.php',
'PHPUnit_Framework_MockObject_Builder_Namespace' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Namespace.php',
'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/ParametersMatch.php',
'PHPUnit_Framework_MockObject_Builder_Stub' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Stub.php',
'PHPUnit_Framework_MockObject_Generator' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Generator.php',
'PHPUnit_Framework_MockObject_Invocation' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation.php',
'PHPUnit_Framework_MockObject_InvocationMocker' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/InvocationMocker.php',
'PHPUnit_Framework_MockObject_Invocation_Object' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation/Object.php',
'PHPUnit_Framework_MockObject_Invocation_Static' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation/Static.php',
'PHPUnit_Framework_MockObject_Invokable' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invokable.php',
'PHPUnit_Framework_MockObject_Matcher' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher.php',
'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/AnyInvokedCount.php',
'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/AnyParameters.php',
'PHPUnit_Framework_MockObject_Matcher_Invocation' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/Invocation.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedAtIndex.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedCount.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedRecorder.php',
'PHPUnit_Framework_MockObject_Matcher_MethodName' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/MethodName.php',
'PHPUnit_Framework_MockObject_Matcher_Parameters' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/Parameters.php',
'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/StatelessInvocation.php',
'PHPUnit_Framework_MockObject_MockBuilder' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/MockBuilder.php',
'PHPUnit_Framework_MockObject_MockObject' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/MockObject.php',
'PHPUnit_Framework_MockObject_Stub' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub.php',
'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ConsecutiveCalls.php',
'PHPUnit_Framework_MockObject_Stub_Exception' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/Exception.php',
'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/MatcherCollection.php',
'PHPUnit_Framework_MockObject_Stub_Return' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/Return.php',
'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnArgument.php',
'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnCallback.php',
'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnSelf.php',
'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnValueMap.php',
'PHPUnit_Framework_MockObject_Verifiable' => $baseDir . '/vendor/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Verifiable.php',
'PHPUnit_Framework_OutputError' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/OutputError.php',
'PHPUnit_Framework_SelfDescribing' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/SelfDescribing.php',
'PHPUnit_Framework_SkippedTest' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/SkippedTest.php',
'PHPUnit_Framework_SkippedTestError' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/SkippedTestError.php',
'PHPUnit_Framework_SkippedTestSuiteError' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/SkippedTestSuiteError.php',
'PHPUnit_Framework_SyntheticError' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/SyntheticError.php',
'PHPUnit_Framework_Test' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Test.php',
'PHPUnit_Framework_TestCase' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php',
'PHPUnit_Framework_TestFailure' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/TestFailure.php',
'PHPUnit_Framework_TestListener' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/TestListener.php',
'PHPUnit_Framework_TestResult' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/TestResult.php',
'PHPUnit_Framework_TestSuite' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php',
'PHPUnit_Framework_TestSuite_DataProvider' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite/DataProvider.php',
'PHPUnit_Framework_Warning' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Framework/Warning.php',
'PHPUnit_Runner_BaseTestRunner' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Runner/BaseTestRunner.php',
'PHPUnit_Runner_StandardTestSuiteLoader' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Runner/StandardTestSuiteLoader.php',
'PHPUnit_Runner_TestSuiteLoader' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Runner/TestSuiteLoader.php',
'PHPUnit_Runner_Version' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Runner/Version.php',
'PHPUnit_TextUI_Command' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php',
'PHPUnit_TextUI_ResultPrinter' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/TextUI/ResultPrinter.php',
'PHPUnit_TextUI_TestRunner' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php',
'PHPUnit_Util_Class' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Class.php',
'PHPUnit_Util_Configuration' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Configuration.php',
'PHPUnit_Util_DeprecatedFeature' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/DeprecatedFeature.php',
'PHPUnit_Util_DeprecatedFeature_Logger' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/DeprecatedFeature/Logger.php',
'PHPUnit_Util_Diff' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Diff.php',
'PHPUnit_Util_ErrorHandler' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/ErrorHandler.php',
'PHPUnit_Util_Fileloader' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Fileloader.php',
'PHPUnit_Util_Filesystem' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Filesystem.php',
'PHPUnit_Util_Filter' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Filter.php',
'PHPUnit_Util_Getopt' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Getopt.php',
'PHPUnit_Util_GlobalState' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/GlobalState.php',
'PHPUnit_Util_InvalidArgumentHelper' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/InvalidArgumentHelper.php',
'PHPUnit_Util_Log_JSON' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Log/JSON.php',
'PHPUnit_Util_Log_JUnit' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Log/JUnit.php',
'PHPUnit_Util_Log_TAP' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Log/TAP.php',
'PHPUnit_Util_PHP' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/PHP.php',
'PHPUnit_Util_PHP_Default' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/PHP/Default.php',
'PHPUnit_Util_PHP_Windows' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/PHP/Windows.php',
'PHPUnit_Util_Printer' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Printer.php',
'PHPUnit_Util_String' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/String.php',
'PHPUnit_Util_Test' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Test.php',
'PHPUnit_Util_TestDox_NamePrettifier' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/TestDox/NamePrettifier.php',
'PHPUnit_Util_TestDox_ResultPrinter' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/TestDox/ResultPrinter.php',
'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/TestDox/ResultPrinter/HTML.php',
'PHPUnit_Util_TestDox_ResultPrinter_Text' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/TestDox/ResultPrinter/Text.php',
'PHPUnit_Util_TestSuiteIterator' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/TestSuiteIterator.php',
'PHPUnit_Util_Type' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/Type.php',
'PHPUnit_Util_XML' => $baseDir . '/vendor/phpunit/phpunit/PHPUnit/Util/XML.php',
'PHP_CodeCoverage' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage.php',
'PHP_CodeCoverage_Driver' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Driver.php',
'PHP_CodeCoverage_Driver_Xdebug' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Driver/Xdebug.php',
'PHP_CodeCoverage_Exception' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Exception.php',
'PHP_CodeCoverage_Filter' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Filter.php',
'PHP_CodeCoverage_Report_Clover' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Clover.php',
'PHP_CodeCoverage_Report_Factory' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php',
'PHP_CodeCoverage_Report_HTML' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML.php',
'PHP_CodeCoverage_Report_HTML_Renderer' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer.php',
'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer/Directory.php',
'PHP_CodeCoverage_Report_HTML_Renderer_File' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer/File.php',
'PHP_CodeCoverage_Report_Node' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node.php',
'PHP_CodeCoverage_Report_Node_Directory' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/Directory.php',
'PHP_CodeCoverage_Report_Node_File' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/File.php',
'PHP_CodeCoverage_Report_Node_Iterator' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/Iterator.php',
'PHP_CodeCoverage_Report_PHP' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/PHP.php',
'PHP_CodeCoverage_Report_Text' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Text.php',
'PHP_CodeCoverage_Util' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Util.php',
'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Util/InvalidArgumentHelper.php',
'PHP_CodeCoverage_Version' => $baseDir . '/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Version.php',
'PHP_Timer' => $baseDir . '/vendor/phpunit/php-timer/PHP/Timer.php',
'PHP_Token' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_TokenWithScope' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_TokenWithScopeAndVisibility' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ABSTRACT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AMPERSAND' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AND_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ARRAY' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ARRAY_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AS' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BACKTICK' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BAD_CHARACTER' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BOOLEAN_AND' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BOOLEAN_OR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BOOL_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BREAK' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CALLABLE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CARET' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CASE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CATCH' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CHARACTER' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLASS' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLASS_C' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLONE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_BRACKET' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_CURLY' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_SQUARE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_TAG' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_COLON' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_COMMA' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_COMMENT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONCAT_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONSTANT_ENCAPSED_STRING' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONTINUE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CURLY_OPEN' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DEC' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DECLARE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DEFAULT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DIR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DIV' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DIV_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DNUMBER' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DO' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOC_COMMENT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOLLAR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_ARROW' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_COLON' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_QUOTES' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ECHO' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ELSE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ELSEIF' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EMPTY' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENCAPSED_AND_WHITESPACE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDDECLARE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDFOR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDFOREACH' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDIF' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDSWITCH' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDWHILE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_END_HEREDOC' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EVAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EXCLAMATION_MARK' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EXIT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EXTENDS' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FILE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FINAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FOR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FOREACH' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FUNCTION' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FUNC_C' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_GLOBAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_GOTO' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_GT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_HALT_COMPILER' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IF' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IMPLEMENTS' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INC' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INCLUDE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INCLUDE_ONCE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INLINE_HTML' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INSTANCEOF' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INSTEADOF' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INTERFACE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INT_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ISSET' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_GREATER_OR_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_IDENTICAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_NOT_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_NOT_IDENTICAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_SMALLER_OR_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_Includes' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LINE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LIST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LNUMBER' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LOGICAL_AND' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LOGICAL_OR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LOGICAL_XOR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_METHOD_C' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MINUS' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MINUS_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MOD_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MULT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MUL_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NAMESPACE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NEW' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NS_C' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NS_SEPARATOR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NUM_STRING' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OBJECT_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OBJECT_OPERATOR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_BRACKET' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_CURLY' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_SQUARE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_TAG' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_TAG_WITH_ECHO' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OR_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PERCENT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PIPE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PLUS' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PLUS_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PRINT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PRIVATE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PROTECTED' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PUBLIC' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_QUESTION_MARK' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_REQUIRE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_REQUIRE_ONCE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_RETURN' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SEMICOLON' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SL_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SR_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_START_HEREDOC' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STATIC' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STRING' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STRING_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STRING_VARNAME' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SWITCH' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_Stream' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token/Stream.php',
'PHP_Token_Stream_CachingFactory' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token/Stream/CachingFactory.php',
'PHP_Token_THROW' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TILDE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TRAIT' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TRAIT_C' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TRY' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_UNSET' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_UNSET_CAST' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_USE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_VAR' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_VARIABLE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_WHILE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_WHITESPACE' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_XOR_EQUAL' => $baseDir . '/vendor/phpunit/php-token-stream/PHP/Token.php',
'SessionHandlerInterface' => $baseDir . '/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php',
'Text_Template' => $baseDir . '/vendor/phpunit/php-text-template/Text/Template.php',
'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/File/Iterator.php',
'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/File/Iterator/Facade.php',
'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/File/Iterator/Factory.php',
'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/GroupTestSuite.php',
'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/PhptTestCase.php',
'PHPUnit_Extensions_PhptTestCase_Logger' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/PhptTestCase/Logger.php',
'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/PhptTestSuite.php',
'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/RepeatedTest.php',
'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/TestDecorator.php',
'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/PHPUnit/Extensions/TicketListener.php',
'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Assert.php',
'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/AssertionFailedError.php',
'PHPUnit_Framework_Comparator' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator.php',
'PHPUnit_Framework_ComparatorFactory' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/ComparatorFactory.php',
'PHPUnit_Framework_Comparator_Array' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Array.php',
'PHPUnit_Framework_Comparator_DOMDocument' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/DOMDocument.php',
'PHPUnit_Framework_Comparator_Double' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Double.php',
'PHPUnit_Framework_Comparator_Exception' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Exception.php',
'PHPUnit_Framework_Comparator_MockObject' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/MockObject.php',
'PHPUnit_Framework_Comparator_Numeric' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Numeric.php',
'PHPUnit_Framework_Comparator_Object' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Object.php',
'PHPUnit_Framework_Comparator_Resource' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Resource.php',
'PHPUnit_Framework_Comparator_Scalar' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Scalar.php',
'PHPUnit_Framework_Comparator_SplObjectStorage' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/SplObjectStorage.php',
'PHPUnit_Framework_Comparator_Type' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Comparator/Type.php',
'PHPUnit_Framework_ComparisonFailure' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/ComparisonFailure.php',
'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint.php',
'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/And.php',
'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/ArrayHasKey.php',
'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Attribute.php',
'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Callback.php',
'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/ClassHasAttribute.php',
'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/ClassHasStaticAttribute.php',
'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Composite.php',
'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Count.php',
'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Exception.php',
'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/ExceptionCode.php',
'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/ExceptionMessage.php',
'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/FileExists.php',
'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/GreaterThan.php',
'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsAnything.php',
'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsEmpty.php',
'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsEqual.php',
'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsFalse.php',
'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsIdentical.php',
'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsInstanceOf.php',
'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsNull.php',
'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsTrue.php',
'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/IsType.php',
'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/JsonMatches.php',
'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/LessThan.php',
'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Not.php',
'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/ObjectHasAttribute.php',
'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Or.php',
'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/PCREMatch.php',
'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/SameSize.php',
'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/StringContains.php',
'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/StringEndsWith.php',
'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/StringMatches.php',
'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/StringStartsWith.php',
'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/TraversableContains.php',
'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/TraversableContainsOnly.php',
'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Constraint/Xor.php',
'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Error.php',
'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Error/Deprecated.php',
'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Error/Notice.php',
'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Error/Warning.php',
'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Exception.php',
'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/ExpectationFailedException.php',
'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/IncompleteTest.php',
'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/IncompleteTestError.php',
'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Identity.php',
'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/InvocationMocker.php',
'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Match.php',
'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/MethodNameMatch.php',
'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Namespace.php',
'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/ParametersMatch.php',
'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Builder/Stub.php',
'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Generator.php',
'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation.php',
'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/InvocationMocker.php',
'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation/Object.php',
'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invocation/Static.php',
'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Invokable.php',
'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher.php',
'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/AnyInvokedCount.php',
'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/AnyParameters.php',
'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/Invocation.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedAtIndex.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedCount.php',
'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/InvokedRecorder.php',
'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/MethodName.php',
'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/Parameters.php',
'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Matcher/StatelessInvocation.php',
'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/MockBuilder.php',
'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/MockObject.php',
'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub.php',
'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ConsecutiveCalls.php',
'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/Exception.php',
'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/MatcherCollection.php',
'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/Return.php',
'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnArgument.php',
'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnCallback.php',
'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnSelf.php',
'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Stub/ReturnValueMap.php',
'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/PHPUnit/Framework/MockObject/Verifiable.php',
'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/OutputError.php',
'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/SelfDescribing.php',
'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/SkippedTest.php',
'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/SkippedTestError.php',
'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/SkippedTestSuiteError.php',
'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/SyntheticError.php',
'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Test.php',
'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/TestCase.php',
'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/TestFailure.php',
'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/TestListener.php',
'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/TestResult.php',
'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/TestSuite.php',
'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/TestSuite/DataProvider.php',
'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/PHPUnit/Framework/Warning.php',
'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/PHPUnit/Runner/BaseTestRunner.php',
'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/PHPUnit/Runner/StandardTestSuiteLoader.php',
'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/PHPUnit/Runner/TestSuiteLoader.php',
'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/PHPUnit/Runner/Version.php',
'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/PHPUnit/TextUI/Command.php',
'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/PHPUnit/TextUI/ResultPrinter.php',
'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php',
'PHPUnit_Util_Class' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Class.php',
'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Configuration.php',
'PHPUnit_Util_DeprecatedFeature' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/DeprecatedFeature.php',
'PHPUnit_Util_DeprecatedFeature_Logger' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/DeprecatedFeature/Logger.php',
'PHPUnit_Util_Diff' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Diff.php',
'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/ErrorHandler.php',
'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Fileloader.php',
'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Filesystem.php',
'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Filter.php',
'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Getopt.php',
'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/GlobalState.php',
'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/InvalidArgumentHelper.php',
'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Log/JSON.php',
'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Log/JUnit.php',
'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Log/TAP.php',
'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/PHP.php',
'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/PHP/Default.php',
'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/PHP/Windows.php',
'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Printer.php',
'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/String.php',
'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Test.php',
'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/TestDox/NamePrettifier.php',
'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/TestDox/ResultPrinter.php',
'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/TestDox/ResultPrinter/HTML.php',
'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/TestDox/ResultPrinter/Text.php',
'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/TestSuiteIterator.php',
'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/Type.php',
'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/PHPUnit/Util/XML.php',
'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage.php',
'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Driver.php',
'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Driver/Xdebug.php',
'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Exception.php',
'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Filter.php',
'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Clover.php',
'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Factory.php',
'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML.php',
'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer.php',
'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer/Directory.php',
'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML/Renderer/File.php',
'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node.php',
'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/Directory.php',
'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/File.php',
'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Node/Iterator.php',
'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/PHP.php',
'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Report/Text.php',
'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Util.php',
'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Util/InvalidArgumentHelper.php',
'PHP_CodeCoverage_Version' => $vendorDir . '/phpunit/php-code-coverage/PHP/CodeCoverage/Version.php',
'PHP_Timer' => $vendorDir . '/phpunit/php-timer/PHP/Timer.php',
'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/PHP/Token/Stream.php',
'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/PHP/Token/Stream/CachingFactory.php',
'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/PHP/Token.php',
'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php',
'Text_Template' => $vendorDir . '/phpunit/php-text-template/Text/Template.php',
);

View File

@ -2,32 +2,32 @@
// autoload_namespaces.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname($vendorDir));
return array(
'Drupal\\Driver' => $baseDir . '/../drivers/lib/',
'Drupal\\Core' => $baseDir . '/lib/',
'Drupal\\Component' => $baseDir . '/lib/',
'Twig_' => $vendorDir . '/twig/twig/lib/',
'Symfony\\Component\\Yaml\\' => $vendorDir . '/symfony/yaml/',
'Symfony\\Component\\Validator\\' => $vendorDir . '/symfony/validator/',
'Symfony\\Component\\Translation\\' => $vendorDir . '/symfony/translation/',
'Symfony\\Component\\Serializer\\' => $vendorDir . '/symfony/serializer/',
'Symfony\\Component\\Routing\\' => $vendorDir . '/symfony/routing/',
'Symfony\\Component\\Process' => $vendorDir . '/symfony/process/',
'Symfony\\Component\\HttpKernel\\' => $vendorDir . '/symfony/http-kernel/',
'Symfony\\Component\\HttpFoundation\\' => $vendorDir . '/symfony/http-foundation/',
'Symfony\\Component\\EventDispatcher\\' => $vendorDir . '/symfony/event-dispatcher/',
'Symfony\\Component\\DependencyInjection\\' => $vendorDir . '/symfony/dependency-injection/',
'Symfony\\Component\\ClassLoader\\' => $vendorDir . '/symfony/class-loader/',
'Symfony\\Cmf\\Component\\Routing' => $vendorDir . '/symfony-cmf/routing/',
'Psr\\Log\\' => $vendorDir . '/psr/log/',
'Guzzle\\Stream' => $vendorDir . '/guzzle/stream/',
'Guzzle\\Parser' => $vendorDir . '/guzzle/parser/',
'Guzzle\\Http' => $vendorDir . '/guzzle/http/',
'Guzzle\\Common' => $vendorDir . '/guzzle/common/',
'EasyRdf_' => $vendorDir . '/easyrdf/easyrdf/lib/',
'Doctrine\\Common' => $vendorDir . '/doctrine/common/lib/',
'Assetic' => $vendorDir . '/kriswallsmith/assetic/src/',
'Twig_' => array($vendorDir . '/twig/twig/lib'),
'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'),
'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'),
'Symfony\\Cmf\\Component\\Routing' => array($vendorDir . '/symfony-cmf/routing'),
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'Guzzle\\Stream' => array($vendorDir . '/guzzle/stream'),
'Guzzle\\Parser' => array($vendorDir . '/guzzle/parser'),
'Guzzle\\Http' => array($vendorDir . '/guzzle/http'),
'Guzzle\\Common' => array($vendorDir . '/guzzle/common'),
'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'),
'Drupal\\Driver' => array($baseDir . '/drivers/lib'),
'Drupal\\Core' => array($baseDir . '/core/lib'),
'Drupal\\Component' => array($baseDir . '/core/lib'),
'Doctrine\\Common' => array($vendorDir . '/doctrine/common/lib'),
'Assetic' => array($vendorDir . '/kriswallsmith/assetic/src'),
);

View File

@ -2,7 +2,7 @@
// autoload_real.php generated by Composer
class ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1
class ComposerAutoloaderInitc244582ae2d491644d70197d64a9670b
{
private static $loader;
@ -19,12 +19,12 @@ class ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1', 'loadClassLoader'));
spl_autoload_register(array('ComposerAutoloaderInitc244582ae2d491644d70197d64a9670b', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitc244582ae2d491644d70197d64a9670b', 'loadClassLoader'));
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
$baseDir = dirname(dirname($vendorDir));
$includePaths = require __DIR__ . '/include_paths.php';
array_push($includePaths, get_include_path());
@ -32,7 +32,7 @@ class ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->add($namespace, $path);
$loader->set($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
@ -42,6 +42,8 @@ class ComposerAutoloaderInit7f0efddf867398398517e0ca6863b8f1
$loader->register(true);
require $vendorDir . '/kriswallsmith/assetic/src/functions.php';
return $loader;
}
}

View File

@ -2,16 +2,16 @@
// include_paths.php generated by Composer
$vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir);
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname($vendorDir));
return array(
$vendorDir . '/phpunit/php-text-template/',
$vendorDir . '/phpunit/phpunit-mock-objects/',
$vendorDir . '/phpunit/php-timer/',
$vendorDir . '/phpunit/php-token-stream/',
$vendorDir . '/phpunit/php-file-iterator/',
$vendorDir . '/phpunit/php-code-coverage/',
$vendorDir . '/phpunit/phpunit/',
$vendorDir . '/phpunit/phpunit/../../symfony/yaml',
$vendorDir . '/phpunit/php-text-template',
$vendorDir . '/phpunit/phpunit-mock-objects',
$vendorDir . '/phpunit/php-timer',
$vendorDir . '/phpunit/php-token-stream',
$vendorDir . '/phpunit/php-file-iterator',
$vendorDir . '/phpunit/php-code-coverage',
$vendorDir . '/phpunit/phpunit',
$vendorDir . '/symfony/yaml',
);

File diff suppressed because it is too large Load Diff

View File

@ -365,26 +365,78 @@ class Collection implements \ArrayAccess, \IteratorAggregate, \Countable, ToArra
/**
* Gets a value from the collection using an array path (e.g. foo/baz/bar would retrieve bar from two nested arrays)
* Allows for wildcard searches which recursively combine matches up to the level at which the wildcard occurs. This
* can be useful for accepting any key of a sub-array and combining matching keys from each diverging path.
*
* @param string $path Path to traverse and retrieve a value from
* @param string $separator Character used to add depth to the search
* @param mixed $data Optional data to descend into (used when wildcards are encountered)
*
* @return mixed|null
*/
public function getPath($path, $separator = '/')
public function getPath($path, $separator = '/', $data = null)
{
$parts = explode($separator, $path);
$data = &$this->data;
// Assume the data of the collection if no data was passed into the method
if ($data === null) {
$data = &$this->data;
}
// Break the path into an array if needed
if (!is_array($path)) {
$path = explode($separator, $path);
}
// Using an iterative approach rather than recursion for speed
while (null !== ($part = array_shift($parts))) {
// Return null if this path doesn't exist or if there's more depth and the value is not an array
if (!isset($data[$part]) || ($parts && !is_array($data[$part]))) {
while (null !== ($part = array_shift($path))) {
if (!is_array($data)) {
return null;
}
// The value does not exist in the array or the path has more but the value is not an array
if (!isset($data[$part])) {
// Not using a wildcard and the key was not found, so return null
if ($part != '*') {
return null;
}
// If using a wildcard search, then diverge and combine paths
$result = array();
foreach ($data as $value) {
if (!$path) {
$result = array_merge_recursive($result, (array) $value);
} else {
$test = $this->getPath($path, $separator, $value);
if ($test !== null) {
$result = array_merge_recursive($result, (array) $test);
}
}
}
return $result;
}
// Descend deeper into the data
$data = &$data[$part];
}
return $data;
}
/**
* Over write key value pairs in this collection with all of the data from an array or collection.
*
* @param array|\Traversable $data Values to override over this config
*
* @return self
*/
public function overwriteWith($data)
{
foreach ($data as $k => $v) {
$this->set($k, $v);
}
return $this;
}
}

View File

@ -7,5 +7,5 @@ namespace Guzzle\Common;
*/
class Version
{
const VERSION = '3.1.0';
const VERSION = '3.1.2';
}

View File

@ -30,6 +30,11 @@ class Client extends AbstractHasDispatcher implements ClientInterface
*/
protected $defaultHeaders;
/**
* @var string The user agent string to set on each request
*/
protected $userAgent;
/**
* @var Collection Parameter object holding configuration data
*/
@ -133,7 +138,7 @@ class Client extends AbstractHasDispatcher implements ClientInterface
} elseif ($certificateAuthority === false) {
unset($opts[CURLOPT_CAINFO]);
$opts[CURLOPT_SSL_VERIFYPEER] = false;
$opts[CURLOPT_SSL_VERIFYHOST] = 1;
$opts[CURLOPT_SSL_VERIFYHOST] = 2;
} elseif ($verifyPeer !== true && $verifyPeer !== false && $verifyPeer !== 1 && $verifyPeer !== 0) {
throw new InvalidArgumentException('verifyPeer must be 1, 0 or boolean');
} elseif ($verifyHost !== 0 && $verifyHost !== 1 && $verifyHost !== 2) {
@ -240,6 +245,10 @@ class Client extends AbstractHasDispatcher implements ClientInterface
$url = Url::factory($this->getBaseUrl())->combine($this->expandTemplate($uri, $templateVars));
}
if ($this->userAgent) {
$this->defaultHeaders->set('User-Agent', $this->userAgent);
}
// If default headers are provided, then merge them into existing headers
// If a collision occurs, the header is completely replaced
if (count($this->defaultHeaders)) {
@ -283,7 +292,7 @@ class Client extends AbstractHasDispatcher implements ClientInterface
if ($includeDefault) {
$userAgent .= ' ' . Utils::getDefaultUserAgent();
}
$this->defaultHeaders->set('User-Agent', $userAgent);
$this->userAgent = $userAgent;
return $this;
}

View File

@ -72,6 +72,13 @@ class CurlHandle
CURLOPT_SSL_VERIFYHOST => 2
);
// Add CURLOPT_ENCODING if Accept-Encoding header is provided
if ($acceptEncodingHeader = $request->getHeader('Accept-Encoding')) {
$curlOptions[CURLOPT_ENCODING] = (string) $acceptEncodingHeader;
// Let cURL set the Accept-Encoding header, prevents duplicate values
$request->removeHeader('Accept-Encoding');
}
// Enable the progress function if the 'progress' param was set
if ($requestCurlOptions->get('progress')) {
$curlOptions[CURLOPT_PROGRESSFUNCTION] = array($mediator, 'progress');

View File

@ -220,6 +220,8 @@ class QueryString extends Collection
public function setAggregateFunction($callback)
{
$this->aggregator = $callback;
return $this;
}
/**

View File

@ -78,8 +78,10 @@ class RedirectPlugin implements EventSubscriberInterface
// Send the redirect request and hijack the response of the original request
$redirectResponse = $redirectRequest->send();
$redirectResponse->setPreviousResponse($event['response']);
$request->setResponse($redirectResponse);
if (!$redirectResponse->getPreviousResponse()) {
$redirectResponse->setPreviousResponse($response);
}
}
/**

View File

@ -13,11 +13,13 @@
],
"require": {
"php": ">=5.3.2",
"ext-curl": "*",
"guzzle/common": "self.version",
"guzzle/parser": "self.version",
"guzzle/stream": "self.version"
},
"suggest": {
"ext-curl": "*"
},
"autoload": {
"psr-0": { "Guzzle\\Http": "" }
},

View File

@ -1,16 +0,0 @@
language: php
php:
- 5.3
- 5.4
before_script:
- wget http://getcomposer.org/composer.phar
- php composer.phar install --dev
- git clone https://github.com/kamicane/packager.git vendor/packager --quiet --depth 1
- git clone https://github.com/leafo/lessphp.git vendor/lessphp --quiet --depth 1
- git clone https://github.com/mrclay/minify.git vendor/minify --quiet --depth 1
- svn checkout http://cssmin.googlecode.com/svn/trunk/ vendor/cssmin --quiet
- wget --quiet -O javascript-packer.zip "http://joliclic.free.fr/php/javascript-packer/telechargement.php?id=2&action=telecharger" && mkdir -p vendor/packer && unzip -qq javascript-packer.zip -d vendor/packer; rm javascript-packer.zip
script: phpunit --configuration phpunit.travis.xml

11
core/vendor/kriswallsmith/assetic/CHANGELOG-1.1.md vendored Normal file → Executable file
View File

@ -1,3 +1,14 @@
1.1.0
-----
* Added the possibility to configure additional load paths for less and lessphp
* Added the UglifyCssFilter
* Fixed the handling of directories in the GlobAsset. #256
* Added Handlebars support
* Added Scssphp-compass support
* Added the CacheBustingWorker
* Added the UglifyJs2Filter
1.1.0-alpha1 (August 28, 2012)
------------------------------

View File

@ -1,4 +1,4 @@
Copyright (c) 2010-2012 OpenSky Project Inc
Copyright (c) 2010-2013 OpenSky Project Inc
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,4 +1,4 @@
# Assetic ![project status](http://stillmaintained.com/kriswallsmith/assetic.png) #
# Assetic [![Build Status](https://travis-ci.org/kriswallsmith/assetic.png?branch=master)](https://travis-ci.org/kriswallsmith/assetic) ![project status](http://stillmaintained.com/kriswallsmith/assetic.png) #
Assetic is an asset management framework for PHP.
@ -73,24 +73,36 @@ foreach ($css as $leaf) {
The core provides the following filters in the `Assetic\Filter` namespace:
* `CoffeeScriptFilter`: compiles CoffeeScript into Javascript
* `CompassFilter`: Compass CSS authoring framework
* `CssEmbedFilter`: embeds image data in your stylesheets
* `CssImportFilter`: inlines imported stylesheets
* `CssMinFilter`: minifies CSS
* `CssRewriteFilter`: fixes relative URLs in CSS assets when moving to a new URL
* `DartFilter`: compiles Javascript using dart2js
* `GoogleClosure\CompilerApiFilter`: compiles Javascript using the Google Closure Compiler API
* `GoogleClosure\CompilerJarFilter`: compiles Javascript using the Google Closure Compiler JAR
* `GssFilter`: compliles CSS using the Google Closure Stylesheets Compiler
* `HandlebarsFilter`: compiles Handlebars templates into Javascript
* `JpegoptimFilter`: optimize your JPEGs
* `JpegtranFilter`: optimize your JPEGs
* `JSMinFilter`: minifies Javascript
* `JSMinPlusFilter`: minifies Javascript
* `LessFilter`: parses LESS into CSS (using less.js with node.js)
* `LessphpFilter`: parses LESS into CSS (using lessphp)
* `OptiPngFilter`: optimize your PNGs
* `PackagerFilter`: parses Javascript for packager tags
* `PackerFilter`: compresses Javascript using Dean Edwards's Packer
* `PhpCssEmbedFilter`: embeds image data in your stylesheet
* `PngoutFilter`: optimize your PNGs
* `CompassFilter`: Compass CSS authoring framework
* `Sass\SassFilter`: parses SASS into CSS
* `Sass\ScssFilter`: parses SCSS into CSS
* `ScssphpFilter`: parses SCSS using scssphp
* `SprocketsFilter`: Sprockets Javascript dependency management
* `StylusFilter`: parses STYL into CSS
* `TypeScriptFilter`: parses TypeScript into Javascript
* `UglifyCssFilter`: minifies CSS
* `UglifyJs2Filter`: minifies Javascript
* `UglifyJsFilter`: minifies Javascript
* `Yui\CssCompressorFilter`: compresses CSS using the YUI compressor
* `Yui\JsCompressorFilter`: compresses Javascript using the YUI compressor
@ -198,6 +210,36 @@ $js->dump();
$js->dump();
```
Cache Busting
-------------
You can use the CacheBustingWorker to provide unique names.
Two strategies are provided: CacheBustingWorker::STRATEGY_CONTENT (content based), CacheBustingWorker::STRATEGY_MODIFICATION (modification time based)
``` php
<?php
use Assetic\Factory\AssetFactory;
use Assetic\Factory\Worker\CacheBustingWorker;
$factory = new AssetFactory('/path/to/asset/directory/');
$factory->setAssetManager($am);
$factory->setFilterManager($fm);
$factory->setDebug(true);
$factory->addWorker(new CacheBustingWorker(CacheBustingWorker::STRATEGY_CONTENT));
$css = $factory->createAsset(array(
'@reset', // load the asset manager's "reset" asset
'css/src/*.scss', // load every scss files from "/path/to/asset/directory/css/src/"
), array(
'scss', // filter through the filter manager's "scss" filter
'?yui_css', // don't use this filter in debug mode
));
echo $css->dump();
```
Static Assets
-------------

View File

@ -2,7 +2,7 @@
"name": "kriswallsmith/assetic",
"minimum-stability": "dev",
"description": "Asset Management for PHP",
"keywords": ["assets", "compression", "minification"],
"keywords": [ "assets", "compression", "minification" ],
"homepage": "https://github.com/kriswallsmith/assetic",
"type": "library",
"license": "MIT",
@ -15,27 +15,77 @@
],
"require": {
"php": ">=5.3.1",
"symfony/process": "2.1.*"
"symfony/process": ">=2.1.0,<2.3-dev"
},
"require-dev": {
"phpunit/phpunit": "3.7.*",
"twig/twig": ">=1.6.0,<2.0",
"leafo/lessphp": "*",
"leafo/scssphp": "*",
"ptachoire/cssembed": "*"
"ptachoire/cssembed": "*",
"leafo/scssphp-compass": "*",
"cssmin/cssmin": "*",
"mrclay/minify": "*",
"kamicane/packager": "*",
"joliclic/javascript-packer": "*"
},
"minimum-stability": "dev",
"suggest": {
"twig/twig": "Assetic provides the integration with the Twig templating engine",
"leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler",
"leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler",
"ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris"
"ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris",
"leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin"
},
"autoload": {
"psr-0": { "Assetic": "src/" }
"psr-0": { "Assetic": "src/" },
"files": [ "src/functions.php" ]
},
"config": {
"bin-dir": "bin"
},
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
}
},
"repositories": [
{
"type": "package",
"package": {
"name": "cssmin/cssmin",
"version": "3.0.1",
"dist": { "url": "http://cssmin.googlecode.com/files/cssmin-v3.0.1.php", "type": "file" },
"autoload": { "classmap": [ "cssmin-v3.0.1.php" ] }
}
},
{
"type": "package",
"package": {
"name": "mrclay/minify",
"version": "2.1.5",
"dist": { "url": "http://minify.googlecode.com/files/minify-2.1.5.zip", "type": "zip" },
"autoload": { "classmap": [ "min/lib/" ] }
}
},
{
"type": "package",
"package": {
"name": "kamicane/packager",
"version": "1.0",
"dist": { "url": "https://github.com/kamicane/packager/archive/1.0.zip", "type": "zip" },
"autoload": { "classmap": [ "." ] }
}
},
{
"type": "package",
"package": {
"name": "joliclic/javascript-packer",
"version": "1.1",
"dist": { "url": "http://joliclic.free.fr/php/javascript-packer/telechargement.php?id=2&action=telecharger", "type": "zip" },
"autoload": { "classmap": [ "class.JavaScriptPacker.php" ] }
}
}
]
}

View File

@ -1,32 +0,0 @@
Building and Dumping Assets
---------------------------
The is the simplest approach to using Assetic. It involves two steps:
1. Create a PHP script in your web directory that uses the Assetic OOP API to
create and output an asset.
2. Reference that file from your template.
For example, you could create a file in your web directory at
`assets/javascripts.php` with the following code:
use Assetic\Asset\AssetCollection;
use Assetic\Asset\FileAsset;
use Assetic\Filter\Yui\JsCompressorFilter as YuiCompressorFilter;
$js = new AssetCollection(array(
new FileAsset(__DIR__.'/jquery.js'),
new FileAsset(__DIR__.'/application.js'),
), array(
new YuiCompressorFilter('/path/to/yuicompressor.jar'),
));
header('Content-Type: application/js');
echo $js->dump();
In your HTML template you would include this generated Javascript using a
simple `<script>` tag:
<script src="/assets/javascripts.php"></script>
Next: [Basic Concepts](concepts.md)

View File

@ -1,129 +0,0 @@
In order to use the Assetic OOP API you must first understand the two central
concepts of Assetic: assets and filters.
### What is an Asset?
As asset is an object that has content and metadata which can be loaded and
dumped. Your assets will probably fall into three categories: Javascripts,
stylesheets and images. Most assets will be loaded from files in your
filesystem, but they can also be loaded via HTTP, a database, from a string,
or virtually anything else. All that an asset has to do is fulfill Assetic's
basic asset interface.
### What is a Filter?
A filter is an object that acts upon an asset's content when that asset is
loaded and/or dumped. Similar to assets, a filter can do virtually anything,
as long as it implements Assetic's filter interface.
Here is a list of some of the tools that can be applied to assets using a
filter:
* CoffeeScript
* CssEmbed
* CssMin
* Google Closure Compiler
* jpegoptim
* jpegtran
* Less
* LessPHP
* optipng
* Packager
* pngout
* SASS
* Sprockets (version 1)
* Stylus
* YUI Compressor
### Using Assets and Filters
You need to start by creating an asset object. This will probably mean
instantiating a `FileAsset` instance, which takes a filesystem path as its
first argument:
$asset = new Assetic\Asset\FileAsset('/path/to/main.css');
Once you have an asset you can begin adding filters to it by calling
`ensureFilter()`. For example, you can add a filter that applies the YUI
Compressor to the contents of the asset:
$yui = new Assetic\Filter\Yui\CssCompressorFilter('/path/to/yui.jar');
$asset->ensureFilter($yui);
Once you've added as many filters as you'd like you can output the finished
asset to the browser:
header('Content-Type: text/css');
echo $asset->dump();
### Asset Collections
It is a good idea to combine assets of the same type into a single file to
avoid unnecessary HTTP requests. You can do this in Assetic using the
`AssetCollection` class. This class is just like any other asset in Assetic's
eyes as it implements the asset interface, but under the hood it allows you to
combine multiple assets into one.
use Assetic\Asset\AssetCollection;
$asset = new AssetCollection(array(
new FileAsset('/path/to/js/jquery.js'),
new FileAsset('/path/to/js/jquery.plugin.js'),
new FileAsset('/path/to/js/application.js'),
));
### Nested Asset Collections
The collection class implements the asset interface and all assets passed into
a collection must implement the same interface, which means you can easily
nest collections within one another:
use Assetic\Asset\AssetCollection;
use Assetic\Asset\GlobAsset;
use Assetic\Asset\HttpAsset;
$asset = new AssetCollection(array(
new HttpAsset('http://example.com/jquery.min.js'),
new GlobAsset('/path/to/js/*'),
));
The `HttpAsset` class is a special asset class that loads a file over HTTP;
`GlobAsset` is a special asset collection class that loads files based on a
filesystem glob -- both implement the asset interface.
This concept of nesting asset collection become even more powerful when you
start applying different sets of filters to each collection. Imagine some of
your application's stylesheets are written in SASS, while some are written in
vanilla CSS. You can combine all of these into one seamless CSS asset:
use Assetic\Asset\AssetCollection;
use Assetic\Asset\GlobAsset;
use Assetic\Filter\SassFilter;
use Assetic\Filter\Yui\CssCompressorFilter;
$css = new AssetCollection(array(
new GlobAsset('/path/to/sass/*.sass', array(new SassFilter())),
new GlobAsset('/path/to/css/*.css'),
), array(
new YuiCompressorFilter('/path/to/yuicompressor.jar'),
));
You'll notice I've also applied the YUI compressor filter to the combined
asset so all CSS will be minified.
### Iterating over an Asset Collection
Once you have an asset collection you can iterate over it like you would a
plain old PHP array:
echo "Source paths:\n";
foreach ($collection as $asset) {
echo ' - '.$asset->getSourcePath()."\n";
}
The asset collection iterates recursively, which means you will only see the
"leaf" assets during iteration. Iteration also includes a smart filter which
ensures you only see each asset once, even if the same asset has been included
multiple times.
Next: [Defining Assets "On The Fly"](define.md)

View File

@ -1,145 +0,0 @@
Defining Assets "On The Fly"
----------------------------
The second approach to using Assetic involves defining your application's
assets "on the fly" in your templates, instead of in an isolated PHP file.
Using this approach, your PHP template would look something like this:
<script src="<?php echo assetic_javascripts('js/*', 'yui_js') ?>"></script>
This call to `assetic_javascripts()` serves a dual purpose. It will be read by
the Assetic "formula loader" which will extract an asset "formula" that can be
used to build, dump and output the asset. It will also be executed when the
template is rendered, at which time the path to the output asset is output.
Assetic includes the following templating helper functions:
* `assetic_image()`
* `assetic_javascripts()`
* `assetic_stylesheets()`
Defining assets on the fly is a much more sophisticated technique and
therefore relies on services to do the heavy lifting. The main one being the
asset factory.
### Asset Factory
The asset factory knows how to create asset objects using only arrays and
scalar values as input. This is the same string syntax used by the `assetic_*`
template helper functions.
use Assetic\Factory\AssetFactory;
$factory = new AssetFactory('/path/to/web');
$js = $factory->createAsset(array(
'js/jquery.js',
'js/jquery.plugin.js',
'js/application.js',
));
### Filter Manager
You can also apply filters to asset created by the factory. To do this you
must setup a `FilterManager`, which organizes filters by a name.
use Assetic\FilterManager;
use Assetic\Filter\GoogleClosure\ApiFilter as ClosureFilter;
$fm = new FilterManager();
$fm->set('closure', new ClosureFilter());
$factory->setFilterManager($fm);
$js = $factory->createAsset('js/*', 'closure');
This code creates an instance of the Google Closure Compiler filter and
assigns it the name `closure` using a filter manager. This filter manager is
then injected into the asset factory, making the filter available as `closure`
when creating assets.
### Debug Mode
The asset factory also introduces the concept of a debug mode. This mode
allows you to omit certain filters from assets the factory creates depending
on whether it is enabled or not.
For example, the YUI Compressor is awesome, but it is only appropriate in a
production environment as it is very difficult to debug minified Javascript.
use Asset\Factory\AssetFactory;
$factory = new AssetFactory('/path/to/web', true); // debug mode is on
$factory->setFilterManager($fm);
$js = $factory->createAsset('js/*', '?closure');
By prefixing the `closure` filter's name with a question mark, we are telling
the factory this filter is optional and should only be applied with debug mode
is off.
### Asset Manager and Asset References
The asset factory provides another special string syntax that allows you to
reference assets you defined elsewhere. These are called "asset references"
and involve an asset manager which, similar to the filter manager, organizes
assets by name.
use Assetic\AssetManager;
use Assetic\Asset\FileAsset;
use Assetic\Factory\AssetFactory;
$am = new AssetManager();
$am->set('jquery', new FileAsset('/path/to/jquery.js'));
$factory = new AssetFactory('/path/to/web');
$factory->setAssetManager($am);
$js = $factory->createAsset(array(
'@jquery',
'js/application.js',
));
### Extracting Assets from Templates
Once you've defined a set of assets in your templates you must use the
"formula loader" service to extract these asset definitions.
use Assetic\Factory\Loader\FunctionCallsFormulaLoader;
use Assetic\Factory\Resource\FileResource;
$loader = new FunctionCallsFormulaLoader($factory);
$formulae = $loader->load(new FileResource('/path/to/template.php'));
These asset formulae aren't much use by themselves. They each include just
enough information for the asset factory to create the intended asset object.
In order for these to be useful they must be wrapped in the special
`LazyAssetManager`.
### The Lazy Asset Manager
This service is a composition of the asset factory and one or more formula
loaders. It acts as the glue between these services behind the scenes, but can
be used just like a normal asset manager on the surface.
use Assetic\Asset\FileAsset;
use Assetic\Factory\LazyAssetManager;
use Assetic\Factory\Loader\FunctionCallsFormulaLoader;
use Assetic\Factory\Resource\DirectoryResource;
$am = new LazyAssetManager($factory);
$am->set('jquery', new FileAsset('/path/to/jquery.js'));
$am->setLoader('php', new FunctionCallsFormulaLoader($factory));
$am->addResource(new DirectoryResource('/path/to/templates', '/\.php$/'), 'php');
### Asset Writer
Finally, once you've create an asset manager that knows about every asset
you've defined in your templates, you must use an asset writer to actually
create the files your templates are going to be referencing.
use Assetic\AssetWriter;
$writer = new AssetWriter('/path/to/web');
$writer->writeManagerAssets($am);
After running this script, all of the assets in your asset manager will be
loaded into memory, filtered with their configured filters and dumped to your
web directory as static files, ready to be served.

View File

@ -1,7 +0,0 @@
Table Of Contents
-----------------
1. [Introduction](introduction.md)
2. [Building and Dumping Assets](build.md)
3. [Basic Concepts](concepts.md)
4. [Defining Assets "On The Fly"](define.md)

View File

@ -1,21 +0,0 @@
What is Assetic?
----------------
Assetic is an asset management framework for PHP 5.3. Assetic enables you to
use a variety of third party tools that will help bring order to your
application's Javascripts, stylesheets and images.
How Do I Use Assetic?
---------------------
There are two distinct approaches you can take when using Assetic:
1. Build, dump and output assets in PHP files that you reference directly
from your templates
2. Defining assets in your templates ("on the fly") and use a loader to
extract, dump and output them
The first approach is simpler, but the second, with all its moving parts,
offers more flexibility and opportunity for optimization.
Next: [Building and Dumping Assets](build.md)

View File

@ -1,30 +0,0 @@
アセットのビルドとダンプ
---------------------------
Asseticを使う一番単純な方法は、次の2ステップからなります。
1. 公開領域内にPHPスクリプトを作成し、Assetic OOP APIを使用してアセットの作成・出力を行う
2. テンプレートから上記のファイルを参照する
例えば、公開領域内に`assets/javascripts.php`ファイルを作成し、
下記のようなコードを記述します。
use Assetic\Asset\AssetCollection;
use Assetic\Asset\FileAsset;
use Assetic\Filter\Yui\JsCompressorFilter as YuiCompressorFilter;
$js = new AssetCollection(array(
new FileAsset(__DIR__.'/jquery.js'),
new FileAsset(__DIR__.'/application.js'),
), array(
new YuiCompressorFilter('/path/to/yuicompressor.jar'),
));
header('Content-Type: application/js');
echo $js->dump();
HTMLテンプレート側では、単に`<script>`Javascript
<script src="/assets/javascripts.php"></script>
Next: [コンセプト](concepts.md)

View File

@ -1,121 +0,0 @@
Assetic OOP APIを使用するためには、まず、[アセット」と「フィルタ」の2つの重要なコンセプトを理解する必要があります。
### アセット
アセットとは、読み込み、及びダンプが可能な、コンテンツとメタデータを内包しているオブジェクトの事を指します。
大体の場合において3つのカテゴリー、すなわち、Javascriptとスタイルシート、画像のどれかに属することになるでしょう。
読み込みの方法としては、ファイルシステムからがほとんどですが、
HTTPやデータベース経由でも、文字列としてでも読み込みが可能で、事実上あらゆるものが読み込み可能です。
Asseticのアセットインターフェースを満足させさえすれば良いのです。
### フィルタ
フィルタは、アセットが読み込まれる、かつ/もしくは、ダンプされる際に、
アセットコンテンツに対して作用するオブジェクトです。
アセットと同様に、Asseticのフィルタインターフェースを実装することで、
どのような作用も可能になります。
フィルタを用いて、アセットに適用できるツール群の一覧です。
* CoffeeScript
* CssEmbed
* CssMin
* Google Closure Compiler
* jpegoptim
* jpegtran
* Less
* LessPHP
* optipng
* Packager
* pngout
* SASS
* Sprockets (version 1)
* Stylus
* YUI Compressor
### アセットとフィルタの使用
まずはアセットオブジェクトを作成することから始まります。
多くの場合は`FileAsset`をインスタンス化し、ファイルシステムのパスを第一引数に渡します。
$asset = new Assetic\Asset\FileAsset('/path/to/main.css');
アセットオブジェクトを作成したら、`ensureFilter()`を呼び、フィルタを追加します。
例えば、アセットコンテンツにYUI Compressorを適用してみましょう。
$yui = new Assetic\Filter\Yui\CssCompressorFilter('/path/to/yui.jar');
$asset->ensureFilter($yui);
任意のフィルタを追加したら、完成したアセットをブラウザに出力してみましょう。
header('Content-Type: text/css');
echo $asset->dump();
### アセットコレクション
1つのファイルに同じ種類のアセットをまとめて、不要なHTTPリクエストを抑えてみるのも良いでしょう。
Asseticでは`AsseticColletion`クラスを使用することで可能となります。
Assetic内部的には、このクラス自体は他のアセットと同様に、アセットインターフェースを実装したものですが、
複数のアセットを1つにまとめることが可能になります。
use Assetic\Asset\AssetCollection;
$asset = new AssetCollection(array(
new FileAsset('/path/to/js/jquery.js'),
new FileAsset('/path/to/js/jquery.plugin.js'),
new FileAsset('/path/to/js/application.js'),
));
### ネストしたアセットコレクション
コレクションクラス自体がアセットインターフェースを実装し、コレクション内のアセットも同様に
アセットインターフェースを実装しているので、簡単にネストすることができます。
use Assetic\Asset\AssetCollection;
use Assetic\Asset\GlobAsset;
use Assetic\Asset\HttpAsset;
$asset = new AssetCollection(array(
new HttpAsset('http://example.com/jquery.min.js'),
new GlobAsset('/path/to/js/*'),
));
`HttpAsset`は、HTTP経由でファイルを読み込むアセットクラス。
`GlobAsset`は、ファイルシステムのglobを基にファイル群を読み込むアセットコレクションクラス。
両者ともにアセットインターフェースを実装しています。
このネストしたアセットコレクションという概念は、コレクションそれぞれに異なる
フィルタ群を適用しようとしたときに、効果を発揮します。
例えば、スタイルシートがSAASで記述されたものと、vanilla CSSを用いて記述されたものからなる
アプリケーションを考えた場合、次のようにして、全てを1つのシームレスなCSSアセットにまとめることができます。
use Assetic\Asset\AssetCollection;
use Assetic\Asset\GlobAsset;
use Assetic\Filter\SassFilter;
use Assetic\Filter\Yui\CssCompressorFilter;
$css = new AssetCollection(array(
new GlobAsset('/path/to/sass/*.sass', array(new SassFilter())),
new GlobAsset('/path/to/css/*.css'),
), array(
new YuiCompressorFilter('/path/to/yuicompressor.jar'),
));
上記の例では、1つにまとめられたCSSを、さらにYUI compressorフィルタを適用することで、全体を圧縮しています。
### アセットコレクションのイテレーション
アセットコレクションは、旧来のPHP配列のように、イテレートできます。
echo "Source paths:\n";
foreach ($collection as $asset) {
echo ' - '.$asset->getSourcePath()."\n";
}
アセットコレクションのイテレーションは再帰的で、「葉」にあたるアセットの取得を行います。
また、気の利いたフィルタを内蔵しているので、同じアセットがコレクション内に複数存在する場合でも、
一度だけのインクルードが保証されます。
Next: [アセットを「オンザフライ」で定義する](define.md)

View File

@ -1,140 +0,0 @@
アセットの「オンザフライ」な定義
----------------------------------------
Asseticの使用方法二つ目は、独立したPHPファイルを使用する代わりに、
テンプレートで「オンザフライ」にアセット定義をする方法です。
このアプローチでは、PHPテンプレートは下記のようになります。
<script src="<?php echo assetic_javascripts('js/*', 'yui_js') ?>"></script>
`assetic_javascripts()`の呼び出しは2つの目的を兼ねています。
まず、「フォーミュラローダー」により走査され、アセットの構築、ダンプ、及び出力を行うための「フォーミュラ(処方箋)」が抽出されます。
また、テンプレートのレンダー時にも実行され、アセットの出力パスが出力されます。
Asseticには下記のようなヘルパー関数があります。
* `assetic_image()`
* `assetic_javascripts()`
* `assetic_stylesheets()`
アセットをオンザフライに定義するということは、より高度なテクニックであり、
そのため、重い仕事をするサービスに依存することになります。
そのうちの重要なものがアセットファクトリです。
### アセットファクトリ
アセットファクトリは、アセットオブジェクトを、配列とスカラ値のみから、
どのように作成するのか把握しています。
`assetic_*`ヘルパー関数で使用する記法と同様のものとなります。
use Assetic\Factory\AssetFactory;
$factory = new AssetFactory('/path/to/web');
$js = $factory->createAsset(array(
'js/jquery.js',
'js/jquery.plugin.js',
'js/application.js',
));
### フィルタマネージャー
ファクトリによって作成されたアセットに対しても、フィルタを適用することができます。
そのためには、`FilterManager`を設定して、名前を定義しフィルタを構成します。
use Assetic\FilterManager;
use Assetic\Filter\GoogleClosure\ApiFilter as ClosureFilter;
$fm = new FilterManager();
$fm->set('closure', new ClosureFilter());
$factory->setFilterManager($fm);
$js = $factory->createAsset('js/*', 'closure');
上記の例では、Google Closure Compilerフィルタをインスタンス化し、
フィルタマネージャーを通じて`closure`という名前をつけています。
このフィルタマネージャーをアセットファクトリに渡すことで、
アセット作成時には、`closure`という名前でフィルタを使用できるようになります。
### デバッグモード
アセットファクトリは、デバッグモードというコンセプトも取り入れており、
デバッグモードの設定により、ファクトリが作成するアセットから、
特定のフィルタを除外することができます。
たとえば、YUI Compressorは大変素晴らしいのですが、圧縮されたJavascriptを
デバッグするのは大変難しく、プロダクション環境でのみの使用が適切でしょう。
use Asset\Factory\AssetFactory;
$factory = new AssetFactory('/path/to/web', true); // デバッグモードON
$factory->setFilterManager($fm);
$js = $factory->createAsset('js/*', '?closure');
フィルタ名`closure`の前にクエスチョンマークを記述すると、ファクトリに対して、
このフィルタはオプションであり、
デバッグモードがOFFの時にのみ適用するように通知することができます。
### アセットマネージャーとアセットリファレンス
アセットファクトリにはもう一つ特別な記法があり、別の場所で定義した
アセットを参照することができるようになります。
これを「アセットリファレンス」と呼び、アセットマネージャーを通じて、
フィルタマネージャーと同様の、名前によるアセットの構成が可能です。
use Assetic\AssetManager;
use Assetic\Asset\FileAsset;
use Assetic\Factory\AssetFactory;
$am = new AssetManager();
$am->set('jquery', new FileAsset('/path/to/jquery.js'));
$factory = new AssetFactory('/path/to/web');
$factory->setAssetManager($am);
$js = $factory->createAsset(array(
'@jquery',
'js/application.js',
));
### テンプレートからのアセット抽出
テンプレート内でアセット群を定義したら、「フォーミュラローダー」サービスを使用して、
アセットの定義を抽出します。
use Assetic\Factory\Loader\FunctionCallsFormulaLoader;
use Assetic\Factory\Resource\FileResource;
$loader = new FunctionCallsFormulaLoader($factory);
$formulae = $loader->load(new FileResource('/path/to/template.php'));
これらのフォーミュラ自体は、それ自体で使途はあまりなく、
アセットファクトリが目的のアセットオブジェクトを作成するに足る情報しか持っていません。
`LazyAssetManager`でラップすることで有益なものとなります。
### レイジーなアセットマネージャー
このサービスは、アセットファクトリと、1つ以上のフォーミュラローダーから成っており、
裏方のサービス間のグルとして動作しますが、表面上では、通常のアセットマネージャーと同じように使用することができます。
use Assetic\Asset\FileAsset;
use Assetic\Factory\LazyAssetManager;
use Assetic\Factory\Loader\FunctionCallsFormulaLoader;
use Assetic\Factory\Resource\DirectoryResource;
$am = new LazyAssetManager($factory);
$am->set('jquery', new FileAsset('/path/to/jquery.js'));
$am->setLoader('php', new FunctionCallsFormulaLoader($factory));
$am->addResource(new DirectoryResource('/path/to/templates', '/\.php$/'), 'php');
### アセットライター
作成したアセットマネージャーが、テンプレート内で定義した全てのアセットを把握したら、
アセットライターを使用して、テンプレートが参照することになる実際のファイルを作成します。
use Assetic\AssetWriter;
$writer = new AssetWriter('/path/to/web');
$writer->writeManagerAssets($am);
上記のスクリプトを実行すると、アセットマネージャー内のすべてのアセットがメモリに読み込まれ、
指定したフィルタが適用された後、公開領域に静的ファイルとしてダンプされ、準備完了となります。

View File

@ -1,7 +0,0 @@
目次
-----
1. [イントロダクション](introduction.md)
2. [アセットの構築とダンプ](build.md)
3. [コンセプト](concepts.md)
4. [アセットを「オンザフライ」で定義する](define.md)

View File

@ -1,18 +0,0 @@
Asseticとは
-----------------
Asseticは、PHP5.3用のアセット管理フレームワークです。
Asseticを導入することで、Javascriptやスタイルシート、画像をコントロールする
様々なサードパーティー製のツールを使用できるようになります。
Asseticの使用方法
---------------------
2つの異なるアプローチがあります。
1. アセットのビルド、ダンプ、出力をPHPファイルで行い、テンプレートからそのファイルを直接参照する方法
2. テンプレート内でアセットを(「オンザフライ」に)定義し、抽出やダンプ、出力にローダーを使用する方法
前者はいくらかシンプルである一方、後者は動的で柔軟性に富み、最適化が可能となります。
Next: [アセットの構築とダンプ](build.md)

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./tests/bootstrap.php" colors="true">
<testsuites>
<testsuite name="Assetic Test Suite">
<directory suffix="Test.php">./tests/Assetic/Test/</directory>
</testsuite>
</testsuites>
<php>
<!-- <server name="CLOSURE_JAR" value="/path/to/google-closure/compiler.jar" /> -->
<!-- <server name="COFFEE_BIN" value="/path/to/coffee" /> -->
<!-- <server name="NODE_BIN" value="/path/to/node" /> -->
<!-- <server name="NODE_PATH" value="/path/to/node/lib" /> -->
<server name="LESSPHP" value="vendor/lessphp/lessc.inc.php" />
<!-- <server name="SASS_BIN" value="/path/to/sass" /> -->
<!-- <server name="COMPASS_BIN" value="/path/to/compass" /> -->
<!-- <server name="RUBY_BIN" value="/path/to/ruby" /> -->
<!-- <server name="SPROCKETS_LIB" value="/path/to/sprockets/lib" /> -->
<!-- <server name="TWIG_LIB" value="vendor/twig/lib" /> -->
<!-- <server name="YUI_COMPRESSOR_JAR" value="/path/to/yuicompressor-2.4.2.jar" /> -->
<!-- <server name="OPTIPNG_BIN" value="/path/to/optipng" /> -->
<!-- <server name="JPEGOPTIM_BIN" value="/path/to/jpegoptim" /> -->
<!-- <server name="JPEGTRAN_BIN" value="/path/to/jpegtran" /> -->
<!-- <server name="PNGOUT_BIN" value="/path/to/pngout" /> -->
<server name="CSSMIN" value="vendor/cssmin/source/CssMin.php" />
<server name="JSMIN" value="vendor/minify/min/lib/JSMin.php" />
<server name="JSMINPLUS" value="vendor/minify/min/lib/JSMinPlus.php" />
<!-- <server name="CSSEMBED_JAR" value="/path/to/cssembed.jar" /> -->
<server name="PACKAGER" value="vendor/packager/packager.php" />
<server name="PACKER" value="vendor/packer/class.JavaScriptPacker.php" />
</php>
<filter>
<whitelist>
<directory suffix=".php">./src/Assetic/</directory>
</whitelist>
</filter>
</phpunit>

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./tests/bootstrap.php" colors="true">
<testsuites>
<testsuite name="Assetic Test Suite">
<directory suffix="Test.php">./tests/Assetic/Test/</directory>
</testsuite>
</testsuites>
<php>
<!-- <server name="CLOSURE_JAR" value="/path/to/google-closure/compiler.jar" /> -->
<!-- <server name="COFFEE_BIN" value="/path/to/coffee" /> -->
<!-- <server name="COMPASS_BIN" value="/path/to/compass" /> -->
<!-- <server name="CSSEMBED_JAR" value="/path/to/cssembed.jar" /> -->
<!-- <server name="CSSMIN" value="/path/to/cssmin/source/CssMin.php" /> -->
<!-- <server name="JSMIN" value="/path/to/minify/min/lib/JSMin.php" /> -->
<!-- <server name="JSMINPLUS" value="/path/to/minify/min/lib/JSMinPlus.php" /> -->
<!-- <server name="GSS_JAR" value="/path/to/closure-stylesheets.jar" /> -->
<!-- <server name="JPEGOPTIM_BIN" value="/path/to/jpegoptim" /> -->
<!-- <server name="JPEGTRAN_BIN" value="/path/to/jpegtran" /> -->
<!-- <server name="LESSPHP" value="/path/to/lessphp/lessc.inc.php" /> -->
<!-- <server name="NODE_BIN" value="/path/to/node" /> -->
<!-- <server name="NODE_PATH" value="/path/to/node/lib" /> -->
<!-- <server name="OPTIPNG_BIN" value="/path/to/optipng" /> -->
<!-- <server name="PACKAGER" value="/path/to/packager.php" /> -->
<!-- <server name="PNGOUT_BIN" value="/path/to/pngout" /> -->
<!-- <server name="RUBY_BIN" value="/path/to/ruby" /> -->
<!-- <server name="SASS_BIN" value="/path/to/sass" /> -->
<!-- <server name="SPROCKETS_LIB" value="/path/to/sprockets/lib" /> -->
<!-- <server name="SYMFONY_PROCESS" value="/path/to/Process" /> -->
<!-- <server name="TWIG_LIB" value="/path/to/twig/lib" /> -->
<!-- <server name="YUI_COMPRESSOR_JAR" value="/path/to/yuicompressor-2.4.2.jar" /> -->
<!-- <server name="UGLIFYJS_BIN" value="/path/to/uglifyjs" /> -->
<!-- <server name="PACKER" value="/path/to/class.JavaScriptPacker.php" /> -->
</php>
<filter>
<whitelist>
<directory suffix=".php">./src/Assetic/</directory>
</whitelist>
</filter>
</phpunit>

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -38,6 +38,7 @@ class AssetCollection implements \IteratorAggregate, AssetCollectionInterface
* @param array $assets Assets for the current collection
* @param array $filters Filters for the current collection
* @param string $sourceRoot The root directory
* @param array $vars
*/
public function __construct($assets = array(), $filters = array(), $sourceRoot = null, array $vars = array())
{
@ -71,7 +72,9 @@ class AssetCollection implements \IteratorAggregate, AssetCollectionInterface
unset($this->clones[$asset], $this->assets[$i]);
return true;
} elseif ($asset instanceof AssetCollectionInterface && $asset->removeLeaf($needle, true)) {
}
if ($asset instanceof AssetCollectionInterface && $asset->removeLeaf($needle, true)) {
return true;
}
}
@ -92,7 +95,9 @@ class AssetCollection implements \IteratorAggregate, AssetCollectionInterface
$this->assets[$i] = $replacement;
return true;
} elseif ($asset instanceof AssetCollectionInterface && $asset->replaceLeaf($needle, $replacement, true)) {
}
if ($asset instanceof AssetCollectionInterface && $asset->replaceLeaf($needle, $replacement, true)) {
return true;
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -35,19 +35,25 @@ interface AssetCollectionInterface extends AssetInterface, \Traversable
/**
* Removes a leaf.
*
* @param AssetInterface $needle The leaf to remove
* @param AssetInterface $leaf The leaf to remove
* @param Boolean $graceful Whether the failure should return false or throw an exception
*
* @return Boolean Whether the asset has been found
*
* @throws \InvalidArgumentException If the asset cannot be found
*/
public function removeLeaf(AssetInterface $leaf);
public function removeLeaf(AssetInterface $leaf, $graceful = false);
/**
* Replaces an existing leaf with a new one.
*
* @param AssetInterface $needle The current asset to replace
* @param AssetInterface $replacement The new asset
* @param Boolean $graceful Whether the failure should return false or throw an exception
*
* @throws InvalidArgumentException If the asset cannot be found
* @return Boolean Whether the asset has been found
*
* @throws \InvalidArgumentException If the asset cannot be found
*/
public function replaceLeaf(AssetInterface $needle, AssetInterface $replacement);
public function replaceLeaf(AssetInterface $needle, AssetInterface $replacement, $graceful = false);
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -36,7 +36,10 @@ abstract class BaseAsset implements AssetInterface
/**
* Constructor.
*
* @param array $filters Filters for the asset
* @param array $filters Filters for the asset
* @param string $sourceRoot The root directory
* @param string $sourcePath The asset path
* @param array $vars
*/
public function __construct($filters = array(), $sourceRoot = null, $sourcePath = null, array $vars = array())
{

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -30,6 +30,7 @@ class FileAsset extends BaseAsset
* @param array $filters An array of filters
* @param string $sourceRoot The source asset root directory
* @param string $sourcePath The source asset path
* @param array $vars
*
* @throws \InvalidArgumentException If the supplied root doesn't match the source when guessing the path
*/
@ -55,8 +56,7 @@ class FileAsset extends BaseAsset
public function load(FilterInterface $additionalFilter = null)
{
$source = PathUtils::resolvePath($this->source, $this->getVars(),
$this->getValues());
$source = PathUtils::resolvePath($this->source, $this->getVars(), $this->getValues());
if (!is_file($source)) {
throw new \RuntimeException(sprintf('The source file "%s" does not exist.', $source));
@ -67,8 +67,7 @@ class FileAsset extends BaseAsset
public function getLastModified()
{
$source = PathUtils::resolvePath($this->source, $this->getVars(),
$this->getValues());
$source = PathUtils::resolvePath($this->source, $this->getVars(), $this->getValues());
if (!is_file($source)) {
throw new \RuntimeException(sprintf('The source file "%s" does not exist.', $source));

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -31,6 +31,7 @@ class GlobAsset extends AssetCollection
* @param string|array $globs A single glob path or array of paths
* @param array $filters An array of filters
* @param string $root The root directory
* @param array $vars
*/
public function __construct($globs, $filters = array(), $root = null, array $vars = array())
{
@ -101,7 +102,9 @@ class GlobAsset extends AssetCollection
if (false !== $paths = glob($glob)) {
foreach ($paths as $path) {
$this->add(new FileAsset($path, array(), $this->getSourceRoot()));
if (is_file($path)) {
$this->add(new FileAsset($path, array(), $this->getSourceRoot()));
}
}
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -28,8 +28,10 @@ class HttpAsset extends BaseAsset
/**
* Constructor.
*
* @param string $sourceUrl The source URL
* @param array $filters An array of filters
* @param string $sourceUrl The source URL
* @param array $filters An array of filters
* @param Boolean $ignoreErrors
* @param array $vars
*
* @throws \InvalidArgumentException If the first argument is not an URL
*/
@ -53,12 +55,13 @@ class HttpAsset extends BaseAsset
public function load(FilterInterface $additionalFilter = null)
{
if (false === $content = @file_get_contents(PathUtils::resolvePath(
$this->sourceUrl, $this->getVars(), $this->getValues()))) {
$this->sourceUrl, $this->getVars(), $this->getValues()))
) {
if ($this->ignoreErrors) {
return;
} else {
throw new \RuntimeException(sprintf('Unable to load asset from URL "%s"', $this->sourceUrl));
}
throw new \RuntimeException(sprintf('Unable to load asset from URL "%s"', $this->sourceUrl));
}
$this->doLoad($content, $additionalFilter);

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -35,7 +35,7 @@ class AssetCollectionIterator implements \RecursiveIterator
$this->output = $coll->getTargetPath();
$this->clones = $clones;
if (false === $pos = strpos($this->output, '.')) {
if (false === $pos = strrpos($this->output, '.')) {
$this->output .= '_*';
} else {
$this->output = substr($this->output, 0, $pos).'_*'.substr($this->output, $pos);
@ -46,6 +46,7 @@ class AssetCollectionIterator implements \RecursiveIterator
* Returns a copy of the current asset with filters and a target URL applied.
*
* @param Boolean $raw Returns the unmodified asset if true
* @return \Assetic\Asset\AssetInterface
*/
public function current($raw = false)
{

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -57,6 +57,8 @@ class AssetManager
*
* @param string $name The asset name
* @param AssetInterface $asset The asset
*
* @throws \InvalidArgumentException If tthe asset name is invalid
*/
public function set($name, AssetInterface $asset)
{

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -30,6 +30,9 @@ class AssetWriter
* Constructor.
*
* @param string $dir The base web directory
* @param array $varValues
*
* @throws \InvalidArgumentException if a variable value is not a string
*/
public function __construct($dir, array $varValues = array())
{

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -0,0 +1,58 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Cache;
/**
* A simple array cache
*
* @author Michael Mifsud <xzyfer@gmail.com>
*/
class ArrayCache implements CacheInterface
{
private $cache = array();
/**
* @see CacheInterface::has()
*/
public function has($key)
{
return isset($this->cache[$key]);
}
/**
* @see CacheInterface::get()
*/
public function get($key)
{
if(!$this->has($key)) {
throw new \RuntimeException('There is no cached value for '.$key);
}
return $this->cache[$key];
}
/**
* @see CacheInterface::set()
*/
public function set($key, $value)
{
$this->cache[$key] = $value;
}
/**
* @see CacheInterface::remove()
*/
public function remove($key)
{
unset($this->cache[$key]);
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -59,7 +59,7 @@ class AsseticExtension extends \Twig_Extension
return array(
'assetic' => array(
'debug' => $this->factory->isDebug(),
'vars' => null !== $this->valueSupplier ? $this->valueSupplier->getValues() : array(),
'vars' => null !== $this->valueSupplier ? new ValueContainer($this->valueSupplier) : array(),
),
);
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -43,6 +43,8 @@ class TwigFormulaLoader implements FormulaLoaderInterface
/**
* Loads assets from the supplied node.
*
* @param \Twig_Node $node
*
* @return array An array of asset formulae indexed by name
*/
private function loadNode(\Twig_Node $node)

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -0,0 +1,79 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Extension\Twig;
use Assetic\ValueSupplierInterface;
/**
* Container for values initialized lazily from a ValueSupplierInterface.
*
* @author Christophe Coevoet <stof@notk.org>
*/
class ValueContainer implements \ArrayAccess, \IteratorAggregate, \Countable
{
private $values;
private $valueSupplier;
public function __construct(ValueSupplierInterface $valueSupplier)
{
$this->valueSupplier = $valueSupplier;
}
public function offsetExists($offset)
{
$this->initialize();
return array_key_exists($offset, $this->values);
}
public function offsetGet($offset)
{
$this->initialize();
if (!array_key_exists($offset, $this->values)) {
throw new \OutOfRangeException(sprintf('The variable "%s" does not exist.', $offset));
}
return $this->values[$offset];
}
public function offsetSet($offset, $value)
{
throw new \BadMethodCallException('The ValueContainer is read-only.');
}
public function offsetUnset($offset)
{
throw new \BadMethodCallException('The ValueContainer is read-only.');
}
public function getIterator()
{
$this->initialize();
return new \ArrayIterator($this->values);
}
public function count()
{
$this->initialize();
return count($this->values);
}
private function initialize()
{
if (null === $this->values) {
$this->values = $this->valueSupplier->getValues();
}
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -40,7 +40,6 @@ class AssetFactory
* Constructor.
*
* @param string $root The default root directory
* @param string $output The default output string
* @param Boolean $debug Filters prefixed with a "?" will be omitted in debug mode
*/
public function __construct($root, $debug = false)
@ -286,11 +285,12 @@ class AssetFactory
$path = $input;
$input = $this->root.'/'.$path;
}
if (false !== strpos($input, '*')) {
return $this->createGlobAsset($input, $root, $options['vars']);
} else {
return $this->createFileAsset($input, $root, $path, $options['vars']);
}
return $this->createFileAsset($input, $root, $path, $options['vars']);
}
protected function createAssetCollection(array $assets = array(), array $options = array())
@ -338,6 +338,8 @@ class AssetFactory
* collection itself.
*
* @param AssetCollectionInterface $asset An asset collection
*
* @return AssetCollectionInterface
*/
private function applyWorkers(AssetCollectionInterface $asset)
{

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -121,9 +121,9 @@ class DirectoryResourceFilterIterator extends \RecursiveFilterIterator
if ($file->isDir()) {
return '.' != $name[0];
} else {
return null === $this->pattern || 0 < preg_match($this->pattern, $name);
}
return null === $this->pattern || 0 < preg_match($this->pattern, $name);
}
public function getChildren()

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -0,0 +1,78 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Factory\Worker;
use Assetic\Asset\AssetInterface;
/**
* Adds cache busting code
*
* @author Kris Wallsmith <kris.wallsmith@gmail.com>
*/
class CacheBustingWorker implements WorkerInterface
{
const STRATEGY_CONTENT = 1;
const STRATEGY_MODIFICATION = 2;
private $strategy;
public function __construct($strategy = self::STRATEGY_CONTENT)
{
$this->strategy = $strategy;
}
public function process(AssetInterface $asset)
{
$hash = hash_init('sha1');
switch($this->strategy) {
case self::STRATEGY_MODIFICATION:
hash_update($hash, $asset->getLastModified());
break;
case self::STRATEGY_CONTENT:
hash_update($hash, $asset->dump());
break;
}
foreach ($asset as $i => $leaf) {
if ($sourcePath = $leaf->getSourcePath()) {
hash_update($hash, $sourcePath);
} else {
hash_update($hash, $i);
}
}
$hash = substr(hash_final($hash), 0, 7);
$url = $asset->getTargetPath();
$oldExt = pathinfo($url, PATHINFO_EXTENSION);
$newExt = '-'.$hash.'.'.$oldExt;
if (!$oldExt || 0 < preg_match('/'.preg_quote($newExt, '/').'$/', $url)) {
return;
}
$asset->setTargetPath(substr($url, 0, (strlen($oldExt) + 1) * -1).$newExt);
}
public function getStrategy()
{
return $this->strategy;
}
public function setStrategy($strategy)
{
$this->strategy = $strategy;
return $this;
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -21,12 +21,14 @@ abstract class BaseCssFilter implements FilterInterface
/**
* Filters all references -- url() and "@import" -- through a callable.
*
* @param string $content The CSS
* @param mixed $callback A PHP callable
* @param string $content The CSS
* @param callable $callback A PHP callable
* @param integer $limit
* @param integer $count
*
* @return string The filtered CSS
*/
protected function filterReferences($content, $callback, $limit = -1, & $count = 0)
protected function filterReferences($content, $callback, $limit = -1, &$count = 0)
{
$content = $this->filterUrls($content, $callback, $limit, $count);
$content = $this->filterImports($content, $callback, $limit, $count, false);
@ -38,34 +40,34 @@ abstract class BaseCssFilter implements FilterInterface
/**
* Filters all CSS url()'s through a callable.
*
* @param string $content The CSS
* @param mixed $callback A PHP callable
* @param integer $limit Limit the number of replacements
* @param integer $count Will be populated with the count
* @param string $content The CSS
* @param callable $callback A PHP callable
* @param integer $limit Limit the number of replacements
* @param integer $count Will be populated with the count
*
* @return string The filtered CSS
*/
protected function filterUrls($content, $callback, $limit = -1, & $count = 0)
protected function filterUrls($content, $callback, $limit = -1, &$count = 0)
{
return preg_replace_callback('/url\((["\']?)(?<url>.*?)(\\1)\)/', $callback, $content, $limit, $count);
return preg_replace_callback('/url\((["\']?)(?P<url>.*?)(\\1)\)/', $callback, $content, $limit, $count);
}
/**
* Filters all CSS imports through a callable.
*
* @param string $content The CSS
* @param mixed $callback A PHP callable
* @param integer $limit Limit the number of replacements
* @param integer $count Will be populated with the count
* @param Boolean $includeUrl Whether to include url() in the pattern
* @param string $content The CSS
* @param callable $callback A PHP callable
* @param integer $limit Limit the number of replacements
* @param integer $count Will be populated with the count
* @param Boolean $includeUrl Whether to include url() in the pattern
*
* @return string The filtered CSS
*/
protected function filterImports($content, $callback, $limit = -1, & $count = 0, $includeUrl = true)
protected function filterImports($content, $callback, $limit = -1, &$count = 0, $includeUrl = true)
{
$pattern = $includeUrl
? '/@import (?:url\()?(\'|"|)(?<url>[^\'"\)\n\r]*)\1\)?;?/'
: '/@import (?!url\()(\'|"|)(?<url>[^\'"\)\n\r]*)\1;?/';
? '/@import (?:url\()?(\'|"|)(?P<url>[^\'"\)\n\r]*)\1\)?;?/'
: '/@import (?!url\()(\'|"|)(?P<url>[^\'"\)\n\r]*)\1;?/';
return preg_replace_callback($pattern, $callback, $content, $limit, $count);
}
@ -73,15 +75,15 @@ abstract class BaseCssFilter implements FilterInterface
/**
* Filters all IE filters (AlphaImageLoader filter) through a callable.
*
* @param string $content The CSS
* @param mixed $callback A PHP callable
* @param integer $limit Limit the number of replacements
* @param integer $count Will be populated with the count
* @param string $content The CSS
* @param callable $callback A PHP callable
* @param integer $limit Limit the number of replacements
* @param integer $count Will be populated with the count
*
* @return string The filtered CSS
*/
protected function filterIEFilters($content, $callback, $limit = -1, & $count = 0)
protected function filterIEFilters($content, $callback, $limit = -1, &$count = 0)
{
return preg_replace_callback('/src=(["\']?)(?<url>.*?)\\1/', $callback, $content, $limit, $count);
return preg_replace_callback('/src=(["\']?)(?P<url>.*?)\\1/', $callback, $content, $limit, $count);
}
}

View File

@ -0,0 +1,43 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Filter;
abstract class BaseNodeFilter extends BaseProcessFilter
{
private $nodePaths = array();
public function getNodePaths()
{
return $this->nodePaths;
}
public function setNodePaths(array $nodePaths)
{
$this->nodePaths = $nodePaths;
}
public function addNodePath($nodePath)
{
$this->nodePaths[] = $nodePath;
}
protected function createProcessBuilder(array $arguments = array())
{
$pb = parent::createProcessBuilder($arguments);
if ($this->nodePaths) {
$pb->setEnv('NODE_PATH', implode(':', $this->nodePaths));
}
return $pb;
}
}

View File

@ -0,0 +1,51 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Filter;
use Assetic\Filter\FilterInterface;
use Symfony\Component\Process\ProcessBuilder;
/**
* An external process based filter which provides a way to set a timeout on the process.
*/
abstract class BaseProcessFilter implements FilterInterface
{
private $timeout;
/**
* Set the process timeout.
*
* @param int $timeout The timeout for the process
*/
public function setTimeout($timeout)
{
$this->timeout = $timeout;
}
/**
* Creates a new process builder.
*
* @param array $arguments An optional array of arguments
*
* @return ProcessBuilder A new process builder
*/
protected function createProcessBuilder(array $arguments = array())
{
$pb = new ProcessBuilder($arguments);
if (null !== $this->timeout) {
$pb->setTimeout($this->timeout);
}
return $pb;
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -23,6 +23,10 @@ class CallablesFilter implements FilterInterface
private $loader;
private $dumper;
/**
* @param callable|null $loader
* @param callable|null $dumper
*/
public function __construct($loader = null, $dumper = null)
{
$this->loader = $loader;

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -13,7 +13,6 @@ namespace Assetic\Filter;
use Assetic\Asset\AssetInterface;
use Assetic\Exception\FilterException;
use Symfony\Component\Process\ProcessBuilder;
/**
* Compiles CoffeeScript into Javascript.
@ -21,18 +20,18 @@ use Symfony\Component\Process\ProcessBuilder;
* @link http://coffeescript.org/
* @author Kris Wallsmith <kris.wallsmith@gmail.com>
*/
class CoffeeScriptFilter implements FilterInterface
class CoffeeScriptFilter extends BaseNodeFilter
{
private $coffeePath;
private $nodePath;
private $coffeeBin;
private $nodeBin;
// coffee options
private $bare;
public function __construct($coffeePath = '/usr/bin/coffee', $nodePath = '/usr/bin/node')
public function __construct($coffeeBin = '/usr/bin/coffee', $nodeBin = null)
{
$this->coffeePath = $coffeePath;
$this->nodePath = $nodePath;
$this->coffeeBin = $coffeeBin;
$this->nodeBin = $nodeBin;
}
public function setBare($bare)
@ -45,11 +44,11 @@ class CoffeeScriptFilter implements FilterInterface
$input = tempnam(sys_get_temp_dir(), 'assetic_coffeescript');
file_put_contents($input, $asset->getContent());
$pb = new ProcessBuilder(array(
$this->nodePath,
$this->coffeePath,
'-cp',
));
$pb = $this->createProcessBuilder($this->nodeBin
? array($this->nodeBin, $this->coffeeBin)
: array($this->coffeeBin));
$pb->add('-cp');
if ($this->bare) {
$pb->add('--bare');
@ -60,7 +59,7 @@ class CoffeeScriptFilter implements FilterInterface
$code = $proc->run();
unlink($input);
if (0 < $code) {
if (0 !== $code) {
throw FilterException::fromProcess($proc)->setInput($asset->getContent());
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -13,8 +13,6 @@ namespace Assetic\Filter;
use Assetic\Exception\FilterException;
use Assetic\Asset\AssetInterface;
use Assetic\Filter\FilterInterface;
use Symfony\Component\Process\ProcessBuilder;
/**
* Loads Compass files.
@ -22,7 +20,7 @@ use Symfony\Component\Process\ProcessBuilder;
* @link http://compass-style.org/
* @author Maxime Thirouin <maxime.thirouin@gmail.com>
*/
class CompassFilter implements FilterInterface
class CompassFilter extends BaseProcessFilter
{
private $compassPath;
private $rubyPath;
@ -42,12 +40,15 @@ class CompassFilter implements FilterInterface
private $noLineComments;
private $imagesDir;
private $javascriptsDir;
private $fontsDir;
// compass configuration file options
private $plugins = array();
private $loadPaths = array();
private $httpPath;
private $httpImagesPath;
private $httpFontsPath;
private $httpGeneratedImagesPath;
private $generatedImagesPath;
private $httpJavascriptsPath;
private $homeEnv = true;
@ -125,6 +126,11 @@ class CompassFilter implements FilterInterface
$this->javascriptsDir = $javascriptsDir;
}
public function setFontsDir($fontsDir)
{
$this->fontsDir = $fontsDir;
}
// compass configuration file options setters
public function setPlugins(array $plugins)
{
@ -156,6 +162,16 @@ class CompassFilter implements FilterInterface
$this->httpImagesPath = $httpImagesPath;
}
public function setHttpFontsPath($httpFontsPath)
{
$this->httpFontsPath = $httpFontsPath;
}
public function setHttpGeneratedImagesPath($httpGeneratedImagesPath)
{
$this->httpGeneratedImagesPath = $httpGeneratedImagesPath;
}
public function setGeneratedImagesPath($generatedImagesPath)
{
$this->generatedImagesPath = $generatedImagesPath;
@ -193,7 +209,7 @@ class CompassFilter implements FilterInterface
$compassProcessArgs = array_merge(explode(' ', $this->rubyPath), $compassProcessArgs);
}
$pb = new ProcessBuilder($compassProcessArgs);
$pb = $this->createProcessBuilder($compassProcessArgs);
$pb->inheritEnvironmentVariables();
if ($this->force) {
@ -258,6 +274,14 @@ class CompassFilter implements FilterInterface
$optionsConfig['http_images_path'] = $this->httpImagesPath;
}
if ($this->httpFontsPath) {
$optionsConfig['http_fonts_path'] = $this->httpFontsPath;
}
if ($this->httpGeneratedImagesPath) {
$optionsConfig['http_generated_images_path'] = $this->httpGeneratedImagesPath;
}
if ($this->generatedImagesPath) {
$optionsConfig['generated_images_path'] = $this->generatedImagesPath;
}
@ -266,6 +290,10 @@ class CompassFilter implements FilterInterface
$optionsConfig['http_javascripts_path'] = $this->httpJavascriptsPath;
}
if ($this->fontsDir) {
$optionsConfig['fonts_dir'] = $this->fontsDir;
}
// options in configuration file
if (count($optionsConfig)) {
$config = array();
@ -322,7 +350,7 @@ class CompassFilter implements FilterInterface
$proc = $pb->getProcess();
$code = $proc->run();
if (0 < $code) {
if (0 !== $code) {
unlink($input);
if (isset($configFile)) {
unlink($configFile);

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -13,7 +13,6 @@ namespace Assetic\Filter;
use Assetic\Asset\AssetInterface;
use Assetic\Exception\FilterException;
use Symfony\Component\Process\ProcessBuilder;
/**
* CSSEmbed filter
@ -21,7 +20,7 @@ use Symfony\Component\Process\ProcessBuilder;
* @link https://github.com/nzakas/cssembed
* @author Maxime Thirouin <maxime.thirouin@gmail.com>
*/
class CssEmbedFilter implements FilterInterface
class CssEmbedFilter extends BaseProcessFilter
{
private $jarPath;
private $javaPath;
@ -80,7 +79,7 @@ class CssEmbedFilter implements FilterInterface
public function filterDump(AssetInterface $asset)
{
$pb = new ProcessBuilder(array(
$pb = $this->createProcessBuilder(array(
$this->javaPath,
'-jar',
$this->jarPath,
@ -130,7 +129,7 @@ class CssEmbedFilter implements FilterInterface
$code = $proc->run();
unlink($input);
if (0 < $code) {
if (0 !== $code) {
throw FilterException::fromProcess($proc)->setInput($asset->getContent());
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -73,7 +73,7 @@ class CssRewriteFilter extends BaseCssFilter
return $matches[0];
}
if ('/' == $matches['url'][0]) {
if (isset($matches['url'][0]) && '/' == $matches['url'][0]) {
// root relative
return str_replace($matches['url'], $host.$matches['url'], $matches[0]);
}

View File

@ -0,0 +1,67 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Filter;
use Assetic\Asset\AssetInterface;
use Assetic\Exception\FilterException;
/**
* Compiles Dart into Javascript.
*
* @link http://dartlang.org/
*/
class DartFilter extends BaseProcessFilter
{
private $dartBin;
public function __construct($dartBin = '/usr/bin/dart2js')
{
$this->dartBin = $dartBin;
}
public function filterLoad(AssetInterface $asset)
{
$input = tempnam(sys_get_temp_dir(), 'assetic_dart');
$output = tempnam(sys_get_temp_dir(), 'assetic_dart');
file_put_contents($input, $asset->getContent());
$pb = $this->createProcessBuilder()
->add($this->dartBin)
->add('-o'.$output)
->add($input)
;
$proc = $pb->getProcess();
$code = $proc->run();
unlink($input);
if (0 !== $code) {
if (file_exists($output)) {
unlink($output);
}
throw FilterException::fromProcess($proc)->setInput($asset->getContent());
}
if (!file_exists($output)) {
throw new \RuntimeException('Error creating output file.');
}
$asset->setContent(file_get_contents($output));
unlink($output);
}
public function filterDump(AssetInterface $asset)
{
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -40,6 +40,7 @@ abstract class BaseCompilerFilter implements FilterInterface
const LANGUAGE_ECMASCRIPT5 = 'ECMASCRIPT5';
const LANGUAGE_ECMASCRIPT5_STRICT = 'ECMASCRIPT5_STRICT';
protected $timeout;
protected $compilationLevel;
protected $jsExterns;
protected $externsUrl;
@ -49,6 +50,11 @@ abstract class BaseCompilerFilter implements FilterInterface
protected $warningLevel;
protected $language;
public function setTimeout($timeout)
{
$this->timeout = $timeout;
}
public function setCompilationLevel($compilationLevel)
{
$this->compilationLevel = $compilationLevel;

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -21,6 +21,19 @@ use Assetic\Asset\AssetInterface;
*/
class CompilerApiFilter extends BaseCompilerFilter
{
private $proxy;
private $proxyFullUri;
public function setProxy($proxy)
{
$this->proxy = $proxy;
}
public function setProxyFullUri($proxyFullUri)
{
$this->proxyFullUri = $proxyFullUri;
}
public function filterDump(AssetInterface $asset)
{
$query = array(
@ -62,16 +75,24 @@ class CompilerApiFilter extends BaseCompilerFilter
}
if (preg_match('/1|yes|on|true/i', ini_get('allow_url_fopen'))) {
$context = stream_context_create(array('http' => array(
$contextOptions = array('http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/x-www-form-urlencoded',
'content' => http_build_query($query),
)));
));
if (null !== $this->timeout) {
$contextOptions['http']['timeout'] = $this->timeout;
}
if ($this->proxy) {
$contextOptions['http']['proxy'] = $this->proxy;
$contextOptions['http']['request_fulluri'] = (Boolean) $this->proxyFullUri;
}
$context = stream_context_create($contextOptions);
$response = file_get_contents('http://closure-compiler.appspot.com/compile', false, $context);
$data = json_decode($response);
} elseif (defined('CURLOPT_POST') && !in_array('curl_init', explode(',', ini_get('disable_functions')))) {
} elseif (defined('CURLOPT_POST') && !in_array('curl_init', explode(',', ini_get('disable_functions')))) {
$ch = curl_init('http://closure-compiler.appspot.com/compile');
curl_setopt($ch, CURLOPT_POST, true);
@ -79,6 +100,13 @@ class CompilerApiFilter extends BaseCompilerFilter
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
if (null !== $this->timeout) {
curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
}
if ($this->proxy) {
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, $this->proxy);
}
$response = curl_exec($ch);
curl_close($ch);

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -42,6 +42,10 @@ class CompilerJarFilter extends BaseCompilerFilter
$this->jarPath,
));
if (null !== $this->timeout) {
$pb->setTimeout($this->timeout);
}
if (null !== $this->compilationLevel) {
$pb->add('--compilation_level')->add($this->compilationLevel);
}
@ -85,7 +89,7 @@ class CompilerJarFilter extends BaseCompilerFilter
$code = $proc->run();
array_map('unlink', $cleanup);
if (0 < $code) {
if (0 !== $code) {
throw FilterException::fromProcess($proc)->setInput($asset->getContent());
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
@ -13,7 +13,6 @@ namespace Assetic\Filter;
use Assetic\Asset\AssetInterface;
use Assetic\Exception\FilterException;
use Symfony\Component\Process\ProcessBuilder;
/**
* Filter for the Google Closure Stylesheets Compiler JAR.
@ -21,7 +20,7 @@ use Symfony\Component\Process\ProcessBuilder;
* @link http://code.google.com/p/closure-stylesheets/
* @author Matthias Krauser <matthias@krauser.eu>
*/
class GssFilter implements FilterInterface
class GssFilter extends BaseProcessFilter
{
private $jarPath;
private $javaPath;
@ -84,7 +83,7 @@ class GssFilter implements FilterInterface
{
$cleanup = array();
$pb = new ProcessBuilder(array(
$pb = $this->createProcessBuilder(array(
$this->javaPath,
'-jar',
$this->jarPath,
@ -129,7 +128,7 @@ class GssFilter implements FilterInterface
$code = $proc->run();
array_map('unlink', $cleanup);
if (0 < $code) {
if (0 !== $code) {
throw FilterException::fromProcess($proc)->setInput($asset->getContent());
}

View File

@ -0,0 +1,102 @@
<?php
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Assetic\Filter;
use Assetic\Asset\AssetInterface;
use Assetic\Exception\FilterException;
/**
* Compiles Handlebars templates into Javascript.
*
* @link http://handlebarsjs.com/
* @author Keyvan Akbary <keyvan@funddy.com>
*/
class HandlebarsFilter extends BaseNodeFilter
{
private $handlebarsBin;
private $nodeBin;
private $minimize = false;
private $simple = false;
public function __construct($handlebarsBin = '/usr/bin/handlebars', $nodeBin = null)
{
$this->handlebarsBin = $handlebarsBin;
$this->nodeBin = $nodeBin;
}
public function setMinimize($minimize)
{
$this->minimize = $minimize;
}
public function setSimple($simple)
{
$this->simple = $simple;
}
public function filterLoad(AssetInterface $asset)
{
$pb = $this->createProcessBuilder($this->nodeBin
? array($this->nodeBin, $this->handlebarsBin)
: array($this->handlebarsBin));
$templateName = basename($asset->getSourcePath());
$inputDirPath = sys_get_temp_dir().DIRECTORY_SEPARATOR.uniqid('input_dir');
$inputPath = $inputDirPath.DIRECTORY_SEPARATOR.$templateName;
$outputPath = tempnam(sys_get_temp_dir(), 'output');
mkdir($inputDirPath);
file_put_contents($inputPath, $asset->getContent());
$pb->add($inputPath)->add('-f')->add($outputPath);
if ($this->minimize) {
$pb->add('--min');
}
if ($this->simple) {
$pb->add('--simple');
}
$process = $pb->getProcess();
$returnCode = $process->run();
unlink($inputPath);
rmdir($inputDirPath);
if (127 === $returnCode) {
throw new \RuntimeException('Path to node executable could not be resolved.');
}
if (0 !== $returnCode) {
if (file_exists($outputPath)) {
unlink($outputPath);
}
throw FilterException::fromProcess($process)->setInput($asset->getContent());
}
if (!file_exists($outputPath)) {
throw new \RuntimeException('Error creating output file.');
}
$compiledJs = file_get_contents($outputPath);
unlink($outputPath);
$asset->setContent($compiledJs);
}
public function filterDump(AssetInterface $asset)
{
}
}

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

View File

@ -3,7 +3,7 @@
/*
* This file is part of the Assetic package, an OpenSky project.
*
* (c) 2010-2012 OpenSky Project Inc
* (c) 2010-2013 OpenSky Project Inc
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.

Some files were not shown because too many files have changed in this diff Show More