diff --git a/core/lib/Drupal/Component/Annotation/composer.json b/core/lib/Drupal/Component/Annotation/composer.json index 76254ea7fa..386cadaa43 100644 --- a/core/lib/Drupal/Component/Annotation/composer.json +++ b/core/lib/Drupal/Component/Annotation/composer.json @@ -6,11 +6,11 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "doctrine/common": "2.5.*", + "doctrine/common": "^2.5", "doctrine/annotations": "1.2.*", - "drupal/core-fileCache": "~8.2", - "drupal/core-plugin": "~8.2", - "drupal/core-utility": "~8.2" + "drupal/core-fileCache": "~8.4", + "drupal/core-plugin": "~8.4", + "drupal/core-utility": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/ClassFinder/composer.json b/core/lib/Drupal/Component/ClassFinder/composer.json index 97d3668775..c7e7397055 100644 --- a/core/lib/Drupal/Component/ClassFinder/composer.json +++ b/core/lib/Drupal/Component/ClassFinder/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "doctrine/common": "2.5.*" + "doctrine/common": "^2.5" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Datetime/composer.json b/core/lib/Drupal/Component/Datetime/composer.json index 04d965355a..e8ec25b241 100644 --- a/core/lib/Drupal/Component/Datetime/composer.json +++ b/core/lib/Drupal/Component/Datetime/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "drupal/core-utility": "~8.2" + "drupal/core-utility": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/DependencyInjection/composer.json b/core/lib/Drupal/Component/DependencyInjection/composer.json index 77013136b9..b62125ed87 100644 --- a/core/lib/Drupal/Component/DependencyInjection/composer.json +++ b/core/lib/Drupal/Component/DependencyInjection/composer.json @@ -12,7 +12,7 @@ }, "require": { "php": ">=5.5.9", - "symfony/dependency-injection": "~2.8" + "symfony/dependency-injection": "~3.2" }, "suggest": { "symfony/expression-language": "For using expressions in service container configuration" diff --git a/core/lib/Drupal/Component/Diff/composer.json b/core/lib/Drupal/Component/Diff/composer.json index 0d7f3d36f7..f6e00ce952 100644 --- a/core/lib/Drupal/Component/Diff/composer.json +++ b/core/lib/Drupal/Component/Diff/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "drupal/utility": "~8.2" + "drupal/core-utility": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Discovery/composer.json b/core/lib/Drupal/Component/Discovery/composer.json index 1b0acb677e..4144d00bac 100644 --- a/core/lib/Drupal/Component/Discovery/composer.json +++ b/core/lib/Drupal/Component/Discovery/composer.json @@ -6,8 +6,8 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "drupal/core-filecache": "~8.2", - "drupal/core-serialization": "~8.2" + "drupal/core-filecache": "~8.4", + "drupal/core-serialization": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/EventDispatcher/composer.json b/core/lib/Drupal/Component/EventDispatcher/composer.json index be66232834..6c12b2eb4d 100644 --- a/core/lib/Drupal/Component/EventDispatcher/composer.json +++ b/core/lib/Drupal/Component/EventDispatcher/composer.json @@ -6,8 +6,8 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "symfony/dependency-injection": "~2.8", - "symfony/event-dispatcher": "~2.7" + "symfony/dependency-injection": "~3.2", + "symfony/event-dispatcher": "~3.2" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Gettext/composer.json b/core/lib/Drupal/Component/Gettext/composer.json index 2dab698489..7e72113062 100644 --- a/core/lib/Drupal/Component/Gettext/composer.json +++ b/core/lib/Drupal/Component/Gettext/composer.json @@ -10,7 +10,7 @@ }, "require": { "php": ">=5.5.9", - "drupal/core-utility": "~8.2" + "drupal/core-utility": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/HttpFoundation/composer.json b/core/lib/Drupal/Component/HttpFoundation/composer.json index 1b3920bc3d..81128fc19b 100644 --- a/core/lib/Drupal/Component/HttpFoundation/composer.json +++ b/core/lib/Drupal/Component/HttpFoundation/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "symfony/http-foundation": "~2.7" + "symfony/http-foundation": "~3.2" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Plugin/composer.json b/core/lib/Drupal/Component/Plugin/composer.json index 4ffeeed3a2..c08e8470ad 100644 --- a/core/lib/Drupal/Component/Plugin/composer.json +++ b/core/lib/Drupal/Component/Plugin/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "symfony/validator": "~2.7" + "symfony/validator": "~3.2" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Render/composer.json b/core/lib/Drupal/Component/Render/composer.json index 88291e91bb..76860a6349 100644 --- a/core/lib/Drupal/Component/Render/composer.json +++ b/core/lib/Drupal/Component/Render/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "drupal/core-utility": "~8.2" + "drupal/core-utility": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Serialization/composer.json b/core/lib/Drupal/Component/Serialization/composer.json index 5d629cfc15..1b758bef55 100644 --- a/core/lib/Drupal/Component/Serialization/composer.json +++ b/core/lib/Drupal/Component/Serialization/composer.json @@ -6,7 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "symfony/yaml": "~2.7" + "symfony/yaml": "~3.2" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Utility/composer.json b/core/lib/Drupal/Component/Utility/composer.json index 13671efef4..086e7185f7 100644 --- a/core/lib/Drupal/Component/Utility/composer.json +++ b/core/lib/Drupal/Component/Utility/composer.json @@ -7,7 +7,7 @@ "require": { "php": ">=5.5.9", "paragonie/random_compat": "^1.0|^2.0", - "drupal/core-render": "~8.2" + "drupal/core-render": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Uuid/composer.json b/core/lib/Drupal/Component/Uuid/composer.json index deca54b80d..f876bc2d0a 100644 --- a/core/lib/Drupal/Component/Uuid/composer.json +++ b/core/lib/Drupal/Component/Uuid/composer.json @@ -10,7 +10,7 @@ }, "require": { "php": ">=5.5.9", - "drupal/core-utility": "~8.2" + "drupal/core-utility": "~8.4" }, "autoload": { "psr-4": { diff --git a/core/tests/Drupal/Tests/ComposerIntegrationTest.php b/core/tests/Drupal/Tests/ComposerIntegrationTest.php index a64804cf8b..0682e6fb7c 100644 --- a/core/tests/Drupal/Tests/ComposerIntegrationTest.php +++ b/core/tests/Drupal/Tests/ComposerIntegrationTest.php @@ -125,6 +125,45 @@ public function testAllModulesReplaced() { } } + /** + * Tests components composer.json. + */ + public function testComponentsComposerJson() { + $json = json_decode(file_get_contents($this->root . '/core/composer.json')); + $core_dependencies = (array) $json->require; + list($major_version, $minor_version) = explode('.', \Drupal::VERSION); + $core_version = "$major_version.$minor_version"; + // Assemble a path to core components. + $components = $this->root . '/core/lib/Drupal/Component'; + + // Get a list of all the files in the components path. + $folders = scandir($components); + + // Make sure we only deal with directories that aren't . or .. + $components_names = []; + $discard = ['.', '..']; + foreach ($folders as $folder_name) { + if ((!in_array($folder_name, $discard)) && is_dir($components . '/' . $folder_name)) { + $components_names[] = $folder_name; + } + } + + foreach ($components_names as $component) { + $component_json = json_decode(file_get_contents("$components/$component/composer.json")); + if (isset($component_json->require)) { + foreach ((array) $component_json->require as $dependency => $version) { + if (strpos($dependency, 'drupal/core-') === FALSE) { + $this->assertEquals($core_dependencies[$dependency], $version, "$component has correct version dependency of $dependency."); + } + else { + $this->assertEquals("~$core_version", $version, "$component has correct version dependency of $dependency."); + } + } + } + } + + } + // @codingStandardsIgnoreStart /** * The following method is copied from \Composer\Package\Locker.