diff --git a/core/lib/Drupal/Component/Annotation/composer.json b/core/lib/Drupal/Component/Annotation/composer.json index 76254ea7fa..66a6242d21 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.3", + "drupal/core-plugin": "~8.3", + "drupal/core-utility": "~8.3" }, "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..e7f4bb81a2 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.3" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Diff/composer.json b/core/lib/Drupal/Component/Diff/composer.json index 0d7f3d36f7..fbb73b6e01 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.3" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Discovery/composer.json b/core/lib/Drupal/Component/Discovery/composer.json index 1b0acb677e..1ac33597ba 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.3", + "drupal/core-serialization": "~8.3" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/EventDispatcher/composer.json b/core/lib/Drupal/Component/EventDispatcher/composer.json index be66232834..b72e600fbd 100644 --- a/core/lib/Drupal/Component/EventDispatcher/composer.json +++ b/core/lib/Drupal/Component/EventDispatcher/composer.json @@ -7,7 +7,7 @@ "require": { "php": ">=5.5.9", "symfony/dependency-injection": "~2.8", - "symfony/event-dispatcher": "~2.7" + "symfony/event-dispatcher": "~2.8" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Gettext/composer.json b/core/lib/Drupal/Component/Gettext/composer.json index 2dab698489..ccc975dede 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.3" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/HttpFoundation/composer.json b/core/lib/Drupal/Component/HttpFoundation/composer.json index 1b3920bc3d..790fc61465 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": "~2.8" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Plugin/composer.json b/core/lib/Drupal/Component/Plugin/composer.json index 4ffeeed3a2..3b72ee5973 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": "~2.8" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Render/composer.json b/core/lib/Drupal/Component/Render/composer.json index 88291e91bb..c4f496580e 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.3" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Serialization/composer.json b/core/lib/Drupal/Component/Serialization/composer.json index 5d629cfc15..ff249fe20d 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": "~2.8" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Utility/composer.json b/core/lib/Drupal/Component/Utility/composer.json index 13671efef4..ea0e93c6d2 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.3" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Uuid/composer.json b/core/lib/Drupal/Component/Uuid/composer.json index deca54b80d..80c6bac817 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.3" }, "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.