diff --git a/composer.json b/composer.json
index d6cdc7f..63af194 100644
--- a/composer.json
+++ b/composer.json
@@ -26,7 +26,9 @@
"phpunit/phpunit": "4.1.*",
"phpunit/phpunit-mock-objects": "dev-master#e60bb929c50ae4237aaf680a4f6773f4ee17f0a2",
"zendframework/zend-feed": "2.2.*",
- "mikey179/vfsStream": "1.*"
+ "mikey179/vfsStream": "1.*",
+ "symfony/console": "2.4.*",
+ "symfony/finder": "2.4.*"
},
"autoload": {
"psr-4": {
diff --git a/composer.lock b/composer.lock
index 7b2dbb7..b2956d5 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "2b2309c748ec92230880579aaedfa1e6",
+ "hash": "ce546475eb80dfa979c8e97eb311159f",
"packages": [
{
"name": "doctrine/annotations",
@@ -80,22 +80,34 @@
},
{
"name": "doctrine/cache",
- "version": "v1.0",
+ "version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
- "reference": "v1.0"
+ "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449"
},
"dist": {
"type": "zip",
- "url": "https://github.com/doctrine/cache/archive/v1.0.zip",
- "reference": "v1.0",
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/e16d7adf45664a50fa86f515b6d5e7f670130449",
+ "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
+ "conflict": {
+ "doctrine/common": ">2.2,<2.4"
+ },
+ "require-dev": {
+ "phpunit/phpunit": ">=3.7",
+ "satooshi/php-coveralls": "~0.6"
+ },
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"autoload": {
"psr-0": {
"Doctrine\\Common\\Cache\\": "lib/"
@@ -109,7 +121,8 @@
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com",
- "homepage": "http://www.jwage.com/"
+ "homepage": "http://www.jwage.com/",
+ "role": "Creator"
},
{
"name": "Guilherme Blanco",
@@ -125,7 +138,7 @@
"email": "kontakt@beberlei.de"
},
{
- "name": "Johannes M. Schmitt",
+ "name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com",
"homepage": "https://github.com/schmittjoh",
"role": "Developer of wrapped JMSSerializerBundle"
@@ -137,20 +150,20 @@
"cache",
"caching"
],
- "time": "2013-01-10 22:43:46"
+ "time": "2013-10-25 19:04:14"
},
{
"name": "doctrine/collections",
- "version": "v1.1",
+ "version": "v1.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
- "reference": "v1.1"
+ "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/v1.1",
- "reference": "v1.1",
+ "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2",
+ "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2",
"shasum": ""
},
"require": {
@@ -159,7 +172,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "1.2.x-dev"
}
},
"autoload": {
@@ -175,7 +188,8 @@
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com",
- "homepage": "http://www.jwage.com/"
+ "homepage": "http://www.jwage.com/",
+ "role": "Creator"
},
{
"name": "Guilherme Blanco",
@@ -191,7 +205,7 @@
"email": "kontakt@beberlei.de"
},
{
- "name": "Johannes M. Schmitt",
+ "name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com",
"homepage": "https://github.com/schmittjoh",
"role": "Developer of wrapped JMSSerializerBundle"
@@ -204,7 +218,7 @@
"collections",
"iterator"
],
- "time": "2013-03-07 12:15:54"
+ "time": "2014-02-03 23:07:43"
},
{
"name": "doctrine/common",
@@ -459,21 +473,21 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "4.1.3",
+ "version": "4.1.6",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "012b2aecbda4e38f119c19580898685851015fa7"
+ "reference": "e49ad58038b46a0d7739627a72f6d998cd92d3d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/012b2aecbda4e38f119c19580898685851015fa7",
- "reference": "012b2aecbda4e38f119c19580898685851015fa7",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/e49ad58038b46a0d7739627a72f6d998cd92d3d6",
+ "reference": "e49ad58038b46a0d7739627a72f6d998cd92d3d6",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/streams": "~1.3",
+ "guzzlehttp/streams": "~1.4",
"php": ">=5.4.0"
},
"require-dev": {
@@ -520,20 +534,20 @@
"rest",
"web service"
],
- "time": "2014-07-16 03:01:02"
+ "time": "2014-08-03 20:38:45"
},
{
"name": "guzzlehttp/streams",
- "version": "1.3.0",
+ "version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/streams.git",
- "reference": "d6aaa91cfdbae86355dd2a168a3ca536755898a2"
+ "reference": "3b761a328e5ed6ed519e960aded95d7acbe77894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/streams/zipball/d6aaa91cfdbae86355dd2a168a3ca536755898a2",
- "reference": "d6aaa91cfdbae86355dd2a168a3ca536755898a2",
+ "url": "https://api.github.com/repos/guzzle/streams/zipball/3b761a328e5ed6ed519e960aded95d7acbe77894",
+ "reference": "3b761a328e5ed6ed519e960aded95d7acbe77894",
"shasum": ""
},
"require": {
@@ -545,7 +559,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "1.4.x-dev"
}
},
"autoload": {
@@ -573,25 +587,25 @@
"Guzzle",
"stream"
],
- "time": "2014-07-15 22:02:02"
+ "time": "2014-07-19 18:43:42"
},
{
"name": "kriswallsmith/assetic",
- "version": "v1.1.1",
+ "version": "v1.1.2",
"source": {
"type": "git",
"url": "https://github.com/kriswallsmith/assetic.git",
- "reference": "v1.1.1"
+ "reference": "735cffd3982c6e8cdebe292d5db39d077f65890f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/v1.1.1",
- "reference": "v1.1.1",
+ "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/735cffd3982c6e8cdebe292d5db39d077f65890f",
+ "reference": "735cffd3982c6e8cdebe292d5db39d077f65890f",
"shasum": ""
},
"require": {
"php": ">=5.3.1",
- "symfony/process": ">=2.1,<3.0"
+ "symfony/process": "~2.1"
},
"require-dev": {
"cssmin/cssmin": "*",
@@ -601,9 +615,9 @@
"leafo/scssphp": "*",
"leafo/scssphp-compass": "*",
"mrclay/minify": "*",
- "phpunit/phpunit": ">=3.7,<4.0",
+ "phpunit/phpunit": "~3.7",
"ptachoire/cssembed": "*",
- "twig/twig": ">=1.6,<2.0"
+ "twig/twig": "~1.6"
},
"suggest": {
"leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler",
@@ -644,7 +658,7 @@
"compression",
"minification"
],
- "time": "2013-06-01 22:13:43"
+ "time": "2013-07-19 00:03:27"
},
{
"name": "mikey179/vfsStream",
@@ -685,17 +699,130 @@
"time": "2014-07-21 20:15:54"
},
{
+ "name": "ocramius/instantiator",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Ocramius/Instantiator.git",
+ "reference": "cc754c2289ffd4483c319f6ed6ee88ce21676f64"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Ocramius/Instantiator/zipball/cc754c2289ffd4483c319f6ed6ee88ce21676f64",
+ "reference": "cc754c2289ffd4483c319f6ed6ee88ce21676f64",
+ "shasum": ""
+ },
+ "require": {
+ "ocramius/lazy-map": "1.0.*",
+ "php": "~5.3"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1.8",
+ "ext-phar": "*",
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "2.0.*@ALPHA"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Instantiator\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "http://ocramius.github.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://github.com/Ocramius/Instantiator",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "time": "2014-06-15 11:44:46"
+ },
+ {
+ "name": "ocramius/lazy-map",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Ocramius/LazyMap.git",
+ "reference": "7fe3d347f5e618bcea7d39345ff83f3651d8b752"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Ocramius/LazyMap/zipball/7fe3d347f5e618bcea7d39345ff83f3651d8b752",
+ "reference": "7fe3d347f5e618bcea7d39345ff83f3651d8b752",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1.6",
+ "phpmd/phpmd": "1.5.*",
+ "phpunit/phpunit": ">=3.7",
+ "satooshi/php-coveralls": "~0.6",
+ "squizlabs/php_codesniffer": "1.4.*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "LazyMap\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "http://ocramius.github.com/",
+ "role": "Developer"
+ }
+ ],
+ "description": "A library that provides lazy instantiation logic for a map of objects",
+ "homepage": "https://github.com/Ocramius/LazyMap",
+ "keywords": [
+ "lazy",
+ "lazy instantiation",
+ "lazy loading",
+ "map",
+ "service location"
+ ],
+ "time": "2013-11-09 22:30:54"
+ },
+ {
"name": "phpunit/php-code-coverage",
- "version": "2.0.8",
+ "version": "2.0.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "58401826c8cfc8fd689b60026e91c337df374bca"
+ "reference": "ed8ac99ce38c3fd134128c898f7ca74665abef7f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/58401826c8cfc8fd689b60026e91c337df374bca",
- "reference": "58401826c8cfc8fd689b60026e91c337df374bca",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ed8ac99ce38c3fd134128c898f7ca74665abef7f",
+ "reference": "ed8ac99ce38c3fd134128c898f7ca74665abef7f",
"shasum": ""
},
"require": {
@@ -747,7 +874,7 @@
"testing",
"xunit"
],
- "time": "2014-05-26 14:55:24"
+ "time": "2014-06-29 08:14:40"
},
{
"name": "phpunit/php-file-iterator",
@@ -934,16 +1061,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "4.1.3",
+ "version": "4.1.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "939cb801b3b2aa253aedd0b279f40bb8f35cec91"
+ "reference": "a71c4842c5fb836d8b200624583b859ec34e8a26"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/939cb801b3b2aa253aedd0b279f40bb8f35cec91",
- "reference": "939cb801b3b2aa253aedd0b279f40bb8f35cec91",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a71c4842c5fb836d8b200624583b859ec34e8a26",
+ "reference": "a71c4842c5fb836d8b200624583b859ec34e8a26",
"shasum": ""
},
"require": {
@@ -1004,7 +1131,7 @@
"testing",
"xunit"
],
- "time": "2014-06-11 14:15:47"
+ "time": "2014-07-18 07:15:58"
},
{
"name": "phpunit/phpunit-mock-objects",
@@ -1021,6 +1148,7 @@
"shasum": ""
},
"require": {
+ "ocramius/instantiator": "~1.0",
"php": ">=5.3.3",
"phpunit/php-text-template": "~1.2"
},
@@ -1103,21 +1231,25 @@
},
{
"name": "sdboyer/gliph",
- "version": "0.1.4",
+ "version": "0.1.8",
"source": {
"type": "git",
"url": "https://github.com/sdboyer/gliph.git",
- "reference": "aad932ef7d808105341cc9a36538e9fe2cb5ee82"
+ "reference": "db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sdboyer/gliph/zipball/aad932ef7d808105341cc9a36538e9fe2cb5ee82",
- "reference": "aad932ef7d808105341cc9a36538e9fe2cb5ee82",
+ "url": "https://api.github.com/repos/sdboyer/gliph/zipball/db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e",
+ "reference": "db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e",
"shasum": ""
},
"require": {
"php": ">=5.3"
},
+ "require-dev": {
+ "phpunit/phpunit": "3.7.*",
+ "satooshi/php-coveralls": "0.6.*"
+ },
"type": "library",
"autoload": {
"psr-0": {
@@ -1143,7 +1275,7 @@
"php",
"spl"
],
- "time": "2013-09-27 01:15:21"
+ "time": "2014-08-03 14:34:47"
},
{
"name": "sebastian/comparator",
@@ -1473,17 +1605,17 @@
},
{
"name": "symfony/class-loader",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/ClassLoader",
"source": {
"type": "git",
"url": "https://github.com/symfony/ClassLoader.git",
- "reference": "6a2ebedbc780130f07b3a15363743d08eb46820c"
+ "reference": "94b18e1beb7708872e237e1cab82c7369e817b0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/6a2ebedbc780130f07b3a15363743d08eb46820c",
- "reference": "6a2ebedbc780130f07b3a15363743d08eb46820c",
+ "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/94b18e1beb7708872e237e1cab82c7369e817b0a",
+ "reference": "94b18e1beb7708872e237e1cab82c7369e817b0a",
"shasum": ""
},
"require": {
@@ -1510,7 +1642,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1519,21 +1653,76 @@
],
"description": "Symfony ClassLoader Component",
"homepage": "http://symfony.com",
- "time": "2013-11-26 16:40:27"
+ "time": "2014-07-09 09:04:55"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v2.4.8",
+ "target-dir": "Symfony/Component/Console",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/Console.git",
+ "reference": "29ef7af8aa6e3c015445f34291ccab9b8019085b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/Console/zipball/29ef7af8aa6e3c015445f34291ccab9b8019085b",
+ "reference": "29ef7af8aa6e3c015445f34291ccab9b8019085b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "symfony/event-dispatcher": "~2.1"
+ },
+ "suggest": {
+ "symfony/event-dispatcher": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Symfony\\Component\\Console\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "http://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Console Component",
+ "homepage": "http://symfony.com",
+ "time": "2014-07-09 12:44:38"
},
{
"name": "symfony/css-selector",
- "version": "v2.4.4",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/CssSelector",
"source": {
"type": "git",
"url": "https://github.com/symfony/CssSelector.git",
- "reference": "479a5b409723f596ffc3b5178034e4d76ce615b3"
+ "reference": "52c35be379ec341c15d2edc7f798f7fd69708645"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/CssSelector/zipball/479a5b409723f596ffc3b5178034e4d76ce615b3",
- "reference": "479a5b409723f596ffc3b5178034e4d76ce615b3",
+ "url": "https://api.github.com/repos/symfony/CssSelector/zipball/52c35be379ec341c15d2edc7f798f7fd69708645",
+ "reference": "52c35be379ec341c15d2edc7f798f7fd69708645",
"shasum": ""
},
"require": {
@@ -1572,21 +1761,21 @@
],
"description": "Symfony CssSelector Component",
"homepage": "http://symfony.com",
- "time": "2014-04-18 20:37:09"
+ "time": "2014-07-09 09:04:55"
},
{
"name": "symfony/debug",
- "version": "v2.3.4",
+ "version": "v2.5.2",
"target-dir": "Symfony/Component/Debug",
"source": {
"type": "git",
- "url": "https://github.com/symfony/Debug.git",
- "reference": "729f6d19cfc401c4942e43fcc1059103bd6df130"
+ "url": "git@github.com:symfony/Debug.git",
+ "reference": "a725879a4b1c0e9a242c7a0480e787cb6465cb8f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/Debug/zipball/729f6d19cfc401c4942e43fcc1059103bd6df130",
- "reference": "729f6d19cfc401c4942e43fcc1059103bd6df130",
+ "url": "https://api.github.com/repos/symfony/Debug/zipball/a725879a4b1c0e9a242c7a0480e787cb6465cb8f",
+ "reference": "a725879a4b1c0e9a242c7a0480e787cb6465cb8f",
"shasum": ""
},
"require": {
@@ -1597,14 +1786,13 @@
"symfony/http-kernel": "~2.1"
},
"suggest": {
- "symfony/class-loader": "",
"symfony/http-foundation": "",
"symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "2.5-dev"
}
},
"autoload": {
@@ -1618,31 +1806,31 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
}
],
"description": "Symfony Debug Component",
"homepage": "http://symfony.com",
- "time": "2013-08-08 14:16:10"
+ "time": "2014-07-09 09:05:48"
},
{
"name": "symfony/dependency-injection",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/DependencyInjection",
"source": {
"type": "git",
"url": "https://github.com/symfony/DependencyInjection.git",
- "reference": "7e5bde3a607dde1f8ddef5180759068ad53d259c"
+ "reference": "0655a6b985d2ecb248825b7f5ed569a85a822e53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/7e5bde3a607dde1f8ddef5180759068ad53d259c",
- "reference": "7e5bde3a607dde1f8ddef5180759068ad53d259c",
+ "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/0655a6b985d2ecb248825b7f5ed569a85a822e53",
+ "reference": "0655a6b985d2ecb248825b7f5ed569a85a822e53",
"shasum": ""
},
"require": {
@@ -1676,7 +1864,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1685,21 +1875,21 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "http://symfony.com",
- "time": "2014-01-01 09:02:49"
+ "time": "2014-07-09 09:04:55"
},
{
"name": "symfony/event-dispatcher",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/EventDispatcher",
"source": {
"type": "git",
"url": "https://github.com/symfony/EventDispatcher.git",
- "reference": "e3ba42f6a70554ed05749e61b829550f6ac33601"
+ "reference": "6008a029b6a3c0816d58be2ca8923e324cc89d93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/e3ba42f6a70554ed05749e61b829550f6ac33601",
- "reference": "e3ba42f6a70554ed05749e61b829550f6ac33601",
+ "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/6008a029b6a3c0816d58be2ca8923e324cc89d93",
+ "reference": "6008a029b6a3c0816d58be2ca8923e324cc89d93",
"shasum": ""
},
"require": {
@@ -1730,7 +1920,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1739,26 +1931,78 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "http://symfony.com",
- "time": "2013-12-28 08:12:03"
+ "time": "2014-07-09 09:04:55"
+ },
+ {
+ "name": "symfony/finder",
+ "version": "v2.4.8",
+ "target-dir": "Symfony/Component/Finder",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/Finder.git",
+ "reference": "b495517531feb9f27c35991d0ed606ffb210faea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/Finder/zipball/b495517531feb9f27c35991d0ed606ffb210faea",
+ "reference": "b495517531feb9f27c35991d0ed606ffb210faea",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Symfony\\Component\\Finder\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "http://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Finder Component",
+ "homepage": "http://symfony.com",
+ "time": "2014-07-15 14:07:10"
},
{
"name": "symfony/http-foundation",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/HttpFoundation",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpFoundation.git",
- "reference": "6c6b8a7bcd7e2cc920cd6acace563fdbf121d844"
+ "reference": "68abe34601c519359b60363b99c29ecfb6679bc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/6c6b8a7bcd7e2cc920cd6acace563fdbf121d844",
- "reference": "6c6b8a7bcd7e2cc920cd6acace563fdbf121d844",
+ "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/68abe34601c519359b60363b99c29ecfb6679bc4",
+ "reference": "68abe34601c519359b60363b99c29ecfb6679bc4",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
+ "require-dev": {
+ "symfony/expression-language": "~2.4"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -1780,7 +2024,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1789,21 +2035,21 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "http://symfony.com",
- "time": "2014-01-05 02:10:50"
+ "time": "2014-07-15 14:07:10"
},
{
"name": "symfony/http-kernel",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/HttpKernel",
"source": {
"type": "git",
"url": "https://github.com/symfony/HttpKernel.git",
- "reference": "0605eedeb52c4d3a3144128d8336395a57be60d4"
+ "reference": "b2c3fc145e7b50c8e09daab303674126ca3a8c5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/0605eedeb52c4d3a3144128d8336395a57be60d4",
- "reference": "0605eedeb52c4d3a3144128d8336395a57be60d4",
+ "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/b2c3fc145e7b50c8e09daab303674126ca3a8c5b",
+ "reference": "b2c3fc145e7b50c8e09daab303674126ca3a8c5b",
"shasum": ""
},
"require": {
@@ -1851,7 +2097,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1860,21 +2108,21 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "http://symfony.com",
- "time": "2014-01-05 02:12:11"
+ "time": "2014-07-15 14:52:02"
},
{
"name": "symfony/process",
- "version": "v2.3.4",
+ "version": "v2.5.2",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
- "reference": "1e91553e1cedd0b8fb1da6ea4f89b02e21713d5b"
+ "reference": "5e53efbf61a7fbf73c79e3e08feea50f64c20bfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/Process/zipball/1e91553e1cedd0b8fb1da6ea4f89b02e21713d5b",
- "reference": "1e91553e1cedd0b8fb1da6ea4f89b02e21713d5b",
+ "url": "https://api.github.com/repos/symfony/Process/zipball/5e53efbf61a7fbf73c79e3e08feea50f64c20bfa",
+ "reference": "5e53efbf61a7fbf73c79e3e08feea50f64c20bfa",
"shasum": ""
},
"require": {
@@ -1883,7 +2131,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "2.5-dev"
}
},
"autoload": {
@@ -1898,7 +2146,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1907,21 +2157,21 @@
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
- "time": "2013-08-22 06:42:25"
+ "time": "2014-07-09 09:05:48"
},
{
"name": "symfony/property-access",
- "version": "v2.4.1",
+ "version": "v2.5.2",
"target-dir": "Symfony/Component/PropertyAccess",
"source": {
"type": "git",
"url": "https://github.com/symfony/PropertyAccess.git",
- "reference": "274951234150e303c83099a2429be6be35629fe9"
+ "reference": "c80993206d5d842c46fc0bdb7da576a42845acfb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/PropertyAccess/zipball/274951234150e303c83099a2429be6be35629fe9",
- "reference": "274951234150e303c83099a2429be6be35629fe9",
+ "url": "https://api.github.com/repos/symfony/PropertyAccess/zipball/c80993206d5d842c46fc0bdb7da576a42845acfb",
+ "reference": "c80993206d5d842c46fc0bdb7da576a42845acfb",
"shasum": ""
},
"require": {
@@ -1930,7 +2180,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.4-dev"
+ "dev-master": "2.5-dev"
}
},
"autoload": {
@@ -1945,7 +2195,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -1965,21 +2217,21 @@
"property path",
"reflection"
],
- "time": "2013-11-13 21:30:16"
+ "time": "2014-07-09 09:05:48"
},
{
"name": "symfony/routing",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/Routing",
"source": {
"type": "git",
"url": "https://github.com/symfony/Routing.git",
- "reference": "4abfb500aab8be458c9e3a227ea56b190584f78a"
+ "reference": "d290f15b7083cee926e17299ab6889210058b30e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/Routing/zipball/4abfb500aab8be458c9e3a227ea56b190584f78a",
- "reference": "4abfb500aab8be458c9e3a227ea56b190584f78a",
+ "url": "https://api.github.com/repos/symfony/Routing/zipball/d290f15b7083cee926e17299ab6889210058b30e",
+ "reference": "d290f15b7083cee926e17299ab6889210058b30e",
"shasum": ""
},
"require": {
@@ -2016,7 +2268,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -2031,7 +2285,7 @@
"uri",
"url"
],
- "time": "2014-01-05 02:10:50"
+ "time": "2014-07-09 09:04:55"
},
{
"name": "symfony/serializer",
@@ -2084,17 +2338,17 @@
},
{
"name": "symfony/translation",
- "version": "v2.3.4",
+ "version": "v2.5.2",
"target-dir": "Symfony/Component/Translation",
"source": {
"type": "git",
"url": "https://github.com/symfony/Translation.git",
- "reference": "65f888291f0896ad492f9abc6dc05c998373aded"
+ "reference": "059d57c361043f5a06eb348b9b7554213f9ab8d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/Translation/zipball/65f888291f0896ad492f9abc6dc05c998373aded",
- "reference": "65f888291f0896ad492f9abc6dc05c998373aded",
+ "url": "https://api.github.com/repos/symfony/Translation/zipball/059d57c361043f5a06eb348b9b7554213f9ab8d1",
+ "reference": "059d57c361043f5a06eb348b9b7554213f9ab8d1",
"shasum": ""
},
"require": {
@@ -2111,7 +2365,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "2.5-dev"
}
},
"autoload": {
@@ -2126,7 +2380,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -2135,21 +2391,21 @@
],
"description": "Symfony Translation Component",
"homepage": "http://symfony.com",
- "time": "2013-08-26 05:49:51"
+ "time": "2014-07-15 14:22:44"
},
{
"name": "symfony/validator",
- "version": "v2.4.1",
+ "version": "v2.4.8",
"target-dir": "Symfony/Component/Validator",
"source": {
"type": "git",
"url": "https://github.com/symfony/Validator.git",
- "reference": "7ea4e53f8d68bf3ae9cca28765d49d7930618730"
+ "reference": "5b32e6d5c9ac1c454823348f4d9dc564975b2008"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/Validator/zipball/7ea4e53f8d68bf3ae9cca28765d49d7930618730",
- "reference": "7ea4e53f8d68bf3ae9cca28765d49d7930618730",
+ "url": "https://api.github.com/repos/symfony/Validator/zipball/5b32e6d5c9ac1c454823348f4d9dc564975b2008",
+ "reference": "5b32e6d5c9ac1c454823348f4d9dc564975b2008",
"shasum": ""
},
"require": {
@@ -2191,7 +2447,9 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Symfony Community",
@@ -2200,7 +2458,7 @@
],
"description": "Symfony Validator Component",
"homepage": "http://symfony.com",
- "time": "2014-01-01 08:14:50"
+ "time": "2014-07-15 14:07:10"
},
{
"name": "symfony/yaml",
@@ -2253,16 +2511,16 @@
},
{
"name": "twig/twig",
- "version": "v1.15.0",
+ "version": "v1.15.1",
"source": {
"type": "git",
"url": "https://github.com/fabpot/Twig.git",
- "reference": "85e4ff98000157ff753d934b9f13659a953f5666"
+ "reference": "1fb5784662f438d7d96a541e305e28b812e2eeed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fabpot/Twig/zipball/85e4ff98000157ff753d934b9f13659a953f5666",
- "reference": "85e4ff98000157ff753d934b9f13659a953f5666",
+ "url": "https://api.github.com/repos/fabpot/Twig/zipball/1fb5784662f438d7d96a541e305e28b812e2eeed",
+ "reference": "1fb5784662f438d7d96a541e305e28b812e2eeed",
"shasum": ""
},
"require": {
@@ -2286,11 +2544,19 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
},
{
"name": "Armin Ronacher",
- "email": "armin.ronacher@active-4.com"
+ "email": "armin.ronacher@active-4.com",
+ "role": "Project Founder"
+ },
+ {
+ "name": "Twig Team",
+ "homepage": "https://github.com/fabpot/Twig/graphs/contributors",
+ "role": "Contributors"
}
],
"description": "Twig, the flexible, fast, and secure template language for PHP",
@@ -2298,21 +2564,21 @@
"keywords": [
"templating"
],
- "time": "2013-12-06 07:47:10"
+ "time": "2014-02-13 10:19:29"
},
{
"name": "zendframework/zend-escaper",
- "version": "2.2.1",
+ "version": "2.2.6",
"target-dir": "Zend/Escaper",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendEscaper.git",
- "reference": "release-2.2.1"
+ "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/release-2.2.1",
- "reference": "release-2.2.1",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f",
+ "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f",
"shasum": ""
},
"require": {
@@ -2338,21 +2604,21 @@
"escaper",
"zf2"
],
- "time": "2013-05-01 21:53:03"
+ "time": "2014-01-04 13:00:13"
},
{
"name": "zendframework/zend-feed",
- "version": "2.2.1",
+ "version": "2.2.6",
"target-dir": "Zend/Feed",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendFeed.git",
- "reference": "release-2.2.1"
+ "reference": "8acb562d99dd0786d25c990530980d2d92b67b35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/release-2.2.1",
- "reference": "release-2.2.1",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/8acb562d99dd0786d25c990530980d2d92b67b35",
+ "reference": "8acb562d99dd0786d25c990530980d2d92b67b35",
"shasum": ""
},
"require": {
@@ -2386,21 +2652,21 @@
"feed",
"zf2"
],
- "time": "2013-06-12 19:45:31"
+ "time": "2014-01-04 13:00:14"
},
{
"name": "zendframework/zend-stdlib",
- "version": "2.2.1",
+ "version": "2.2.6",
"target-dir": "Zend/Stdlib",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendStdlib.git",
- "reference": "release-2.2.1"
+ "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/release-2.2.1",
- "reference": "release-2.2.1",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/e646729f2274f4552b6a92e38d8e458efe08ebc5",
+ "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5",
"shasum": ""
},
"require": {
@@ -2430,7 +2696,7 @@
"stdlib",
"zf2"
],
- "time": "2013-06-12 19:46:58"
+ "time": "2014-01-04 13:00:28"
}
],
"packages-dev": [
@@ -2448,6 +2714,7 @@
"symfony-cmf/routing": 15,
"phpunit/phpunit-mock-objects": 20
},
+ "prefer-stable": false,
"platform": {
"php": ">=5.4.2"
},
diff --git a/core/lib/Drupal/Core/Console/Application.php b/core/lib/Drupal/Core/Console/Application.php
new file mode 100644
index 0000000..aa7deed
--- /dev/null
+++ b/core/lib/Drupal/Core/Console/Application.php
@@ -0,0 +1,21 @@
+getOption('environment');
+ try {
+ require_once __DIR__ . '/../../../../includes/bootstrap.inc';
+ drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
+
+ $kernel = new DrupalKernel($env ?: 'prod', \drupal_classloader(), TRUE, FALSE);
+ $kernel->boot();
+
+ if (!$request) {
+ // Create a meaningful request object. We shouldn't really need this but
+ // Drupal complains if it's not present.
+ $request = Request::createFromGlobals();
+ }
+ $container = $kernel->getContainer();
+ $container->set('request', $request);
+ $container->get('request_stack')->push($request);
+
+ drupal_bootstrap(DRUPAL_BOOTSTRAP_CODE);
+ return $kernel;
+ }
+ catch (\Exception $e) {
+ /** @var \Symfony\Component\Console\Helper\FormatterHelper $formatter */
+ $formatter = $command->getHelperSet()->get('formatter');
+ $error_messages = array(
+ 'Insufficient Drupal to proceed.',
+ 'This command requires a bootable Drupal installation.',
+ );
+ $formatted_block = $formatter->formatBlock($error_messages, 'error', TRUE);
+ $output->writeln($formatted_block);
+ }
+ return FALSE;
+ }
+
+}
diff --git a/core/lib/Drupal/Core/Console/BootstrapInterface.php b/core/lib/Drupal/Core/Console/BootstrapInterface.php
new file mode 100644
index 0000000..4f0c9b7
--- /dev/null
+++ b/core/lib/Drupal/Core/Console/BootstrapInterface.php
@@ -0,0 +1,38 @@
+setName('drupal:cache-clear')
+ ->setAliases(array('cc'))
+ ->setDescription('Clears all caches.');
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function execute(InputInterface $input, OutputInterface $output) {
+ $kernel = $this->bootstrap->bootstrap($this, $input, $output);
+ if ($kernel) {
+ drupal_flush_all_caches();
+ $output->writeln('Caches cleared.');
+ }
+ }
+
+}
diff --git a/core/lib/Drupal/Core/Console/Command/CommandBootstrapBase.php b/core/lib/Drupal/Core/Console/Command/CommandBootstrapBase.php
new file mode 100644
index 0000000..f9fb61a
--- /dev/null
+++ b/core/lib/Drupal/Core/Console/Command/CommandBootstrapBase.php
@@ -0,0 +1,54 @@
+bootstrap = $bootstrap;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function configure() {
+ parent::configure();
+ $this
+ ->addOption(
+ 'environment', 'e', InputOption::VALUE_REQUIRED, 'Kernel environment.', 'prod'
+ );
+ }
+
+}
diff --git a/core/lib/Drupal/Core/Console/Command/RunCron.php b/core/lib/Drupal/Core/Console/Command/RunCron.php
new file mode 100644
index 0000000..f47cedc
--- /dev/null
+++ b/core/lib/Drupal/Core/Console/Command/RunCron.php
@@ -0,0 +1,43 @@
+setName('drupal:cron')
+ ->setAliases(array('cron'))
+ ->setDescription('Performs a cron run.');
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function execute(InputInterface $input, OutputInterface $output) {
+ $kernel = $this->bootstrap->bootstrap($this, $input, $output);
+ if ($kernel) {
+ $output->writeln('Running cron...');
+ /** @var \Drupal\Core\CronInterface $cron */
+ $cron = $kernel->getContainer()->get('cron');
+ $cron->run();
+ $output->writeln('Done.');
+ }
+ }
+
+}
diff --git a/core/lib/Drupal/Core/Console/CompilerPass.php b/core/lib/Drupal/Core/Console/CompilerPass.php
new file mode 100644
index 0000000..39fda13
--- /dev/null
+++ b/core/lib/Drupal/Core/Console/CompilerPass.php
@@ -0,0 +1,42 @@
+findTaggedServiceIds('console.command');
+ $definition = $container->getDefinition('console.app');
+ foreach (array_keys($tagged_services) as $id) {
+ $definition->addMethodCall(
+ 'add', array(new Reference($id))
+ );
+ }
+ }
+
+}
diff --git a/core/lib/Drupal/Core/Console/ServicesFinder.php b/core/lib/Drupal/Core/Console/ServicesFinder.php
new file mode 100644
index 0000000..baa32de
--- /dev/null
+++ b/core/lib/Drupal/Core/Console/ServicesFinder.php
@@ -0,0 +1,24 @@
+inDrupalCore()
+ ->inContrib()
+ ->excludeVendor()
+ ->files()
+ ->ignoreUnreadableDirs()
+ ->ignoreVCS(TRUE)
+ ->name('*.console.services.yml');
+ }
+
+}
diff --git a/core/lib/Drupal/Core/Discovery/DrupalFinder.php b/core/lib/Drupal/Core/Discovery/DrupalFinder.php
new file mode 100644
index 0000000..9baf4a6
--- /dev/null
+++ b/core/lib/Drupal/Core/Discovery/DrupalFinder.php
@@ -0,0 +1,95 @@
+drupalRoot = $drupal_root;
+ }
+
+ /**
+ * Gets the path to the root of the Drupal installation.
+ *
+ * @return string
+ * The path to the root of the Drupal installation.
+ */
+ public function getDrupalRootPath() {
+ return $this->drupalRoot;
+ }
+
+ /**
+ * Gets the path to the Drupal installation's ./core directory.
+ *
+ * @return string
+ * The path to the Drupal installation's core directory.
+ */
+ public function getDrupalCorePath() {
+ return $this->getDrupalRootPath() . '/core';
+ }
+
+ /**
+ * Sets the iterator to search the Drupal root directory.
+ *
+ * @return $this
+ */
+ public function inDrupalRoot() {
+ return $this->in($this->getDrupalRootPath());
+ }
+
+ /**
+ * Sets the iterator to search the Drupal core directory.
+ *
+ * @return $this
+ */
+ public function inDrupalCore() {
+ return $this->in($this->getDrupalCorePath());
+ }
+
+ /**
+ * Sets the iterator to search within Drupal's contrib directories.
+ *
+ * @return $this
+ */
+ public function inContrib() {
+ $this->in($this->getDrupalRootPath() . '/modules');
+ return $this->in($this->getDrupalRootPath() . '/sites');
+ }
+
+ /**
+ * Sets the iterator to exclude Composer's vendor directory.
+ *
+ * @return $this
+ */
+ public function excludeVendor() {
+ return $this->exclude($this->getDrupalCorePath() . '/vendor');
+ }
+
+}
diff --git a/core/lib/Drupal/Core/DrupalKernelInterface.php b/core/lib/Drupal/Core/DrupalKernelInterface.php
index 08d007c..836d83f 100644
--- a/core/lib/Drupal/Core/DrupalKernelInterface.php
+++ b/core/lib/Drupal/Core/DrupalKernelInterface.php
@@ -52,7 +52,7 @@ public function getServiceProviders($origin);
/**
* Gets the current container.
*
- * @return ContainerInterface A ContainerInterface instance
+ * @return \Symfony\Component\DependencyInjection\ContainerInterface A ContainerInterface instance
*/
public function getContainer();
diff --git a/core/tests/Drupal/Tests/Core/Console/ApplicationTest.php b/core/tests/Drupal/Tests/Core/Console/ApplicationTest.php
new file mode 100644
index 0000000..7b7a74c
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/Console/ApplicationTest.php
@@ -0,0 +1,27 @@
+bootstrap = $this->getMock('\Drupal\Core\Console\BootstrapInterface');
+
+ $this->command = new ClearCache($this->bootstrap);
+ }
+
+ /**
+ * @covers ::execute
+ */
+ public function testExecute() {
+ $input = $this->getMock('\Symfony\Component\Console\Input\InputInterface');
+
+ $output = $this->getMock('\Symfony\Component\Console\Output\OutputInterface');
+ $output->expects($this->atLeastOnce())
+ ->method('writeln');
+
+ $kernel = $this->getMock('\Drupal\Core\DrupalKernelInterface');
+
+ $this->bootstrap->expects($this->once())
+ ->method('bootstrap')
+ ->with($this->command, $input, $output)
+ ->will($this->returnValue($kernel));
+
+ $method = new \ReflectionMethod($this->command, 'execute');
+ $method->setAccessible(TRUE);
+ $method->invoke($this->command, $input, $output);
+ }
+
+}
+
+}
+
+namespace {
+
+if (!function_exists('drupal_flush_all_caches')) {
+ function drupal_flush_all_caches() {
+ }
+}
+
+}
diff --git a/core/tests/Drupal/Tests/Core/Console/Command/RunCronTest.php b/core/tests/Drupal/Tests/Core/Console/Command/RunCronTest.php
new file mode 100644
index 0000000..865472b
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/Console/Command/RunCronTest.php
@@ -0,0 +1,84 @@
+bootstrap = $this->getMock('\Drupal\Core\Console\BootstrapInterface');
+
+ $this->command = new RunCron($this->bootstrap);
+ }
+
+ /**
+ * @covers ::execute
+ */
+ public function testExecute() {
+ $input = $this->getMock('\Symfony\Component\Console\Input\InputInterface');
+
+ $output = $this->getMock('\Symfony\Component\Console\Output\OutputInterface');
+ $output->expects($this->atLeastOnce())
+ ->method('writeln');
+
+ $cron = $this->getMock('\Drupal\Core\CronInterface');
+ $cron->expects($this->once())
+ ->method('run');
+
+ $container = $this->getMock('\Symfony\Component\DependencyInjection\ContainerInterface');
+ $container->expects($this->once())
+ ->method('get')
+ ->with('cron')
+ ->will($this->returnValue($cron));
+
+ $kernel = $this->getMock('\Drupal\Core\DrupalKernelInterface');
+ $kernel->expects($this->atLeastOnce())
+ ->method('getContainer')
+ ->will($this->returnValue($container));
+
+ $this->bootstrap->expects($this->once())
+ ->method('bootstrap')
+ ->with($this->command, $input, $output)
+ ->will($this->returnValue($kernel));
+
+ $method = new \ReflectionMethod($this->command, 'execute');
+ $method->setAccessible(TRUE);
+ $method->invoke($this->command, $input, $output);
+ }
+
+}
diff --git a/core/tests/Drupal/Tests/Core/Console/CompilerPassTest.php b/core/tests/Drupal/Tests/Core/Console/CompilerPassTest.php
new file mode 100644
index 0000000..f6fa9a8
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/Console/CompilerPassTest.php
@@ -0,0 +1,84 @@
+command = new CompilerPass();
+ }
+
+ /**
+ * Test the process() method.
+ *
+ * @covers ::process
+ */
+ public function testProcess() {
+ $service_ids = array($this->randomName(), $this->randomName());
+ $references[] = new Reference($service_ids[0]);
+ $references[] = new Reference($service_ids[1]);
+
+ $definition = $this->getMockBuilder('\Symfony\Component\DependencyInjection\Definition')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $definition->expects($this->at(0))
+ ->method('addMethodCall')
+ ->with('add', array($references[0]));
+ $definition->expects($this->at(1))
+ ->method('addMethodCall')
+ ->with('add', array($references[1]));
+
+ $container_builder = $this->getMockBuilder('\Symfony\Component\DependencyInjection\ContainerBuilder')
+ ->setMethods(array(
+ 'get',
+ 'findTaggedServiceIds',
+ 'getDefinition',
+ ))
+ ->disableOriginalConstructor()
+ ->getMock();
+ $container_builder->expects($this->once())
+ ->method('findTaggedServiceIds')
+ ->with('console.command')
+ ->will($this->returnValue(array_fill_keys($service_ids, array())));
+ $container_builder->expects($this->once())
+ ->method('getDefinition')
+ ->with('console.app')
+ ->will($this->returnValue($definition));
+
+ $this->command->process($container_builder);
+ }
+
+}
diff --git a/core/tests/Drupal/Tests/Core/Console/ServicesFinderTest.php b/core/tests/Drupal/Tests/Core/Console/ServicesFinderTest.php
new file mode 100644
index 0000000..fe2ac0f
--- /dev/null
+++ b/core/tests/Drupal/Tests/Core/Console/ServicesFinderTest.php
@@ -0,0 +1,49 @@
+ '',
+ 'name' => '\Drupal\Core\Console\ServicesFinder unit test',
+ 'group' => 'Console',
+ );
+ }
+
+ /**
+ * Basic test of constructing a new services finder.
+ *
+ * @covers ::__construct
+ */
+ public function testConstruct() {
+ $finder = new ServicesFinder();
+ $files = array();
+ foreach ($finder as $file) {
+ /** @var \Symfony\Component\Finder\SplFileInfo $file */
+ $files[] = $file->getRealPath();
+ $this->assertFileExists($file->getRealPath());
+ }
+ $this->assertNotCount(0, $files);
+ }
+
+}