From 288424a36582ac59e22894aa9eff7195fe3c44ff Mon Sep 17 00:00:00 2001 From: tadean <46953-tadean@users.noreply.drupalcode.org> Date: Wed, 3 May 2023 11:39:28 -0700 Subject: [PATCH 01/26] Issue #3357495 by joegraduate, tadean: isActiveStorageContext() fails in 9.5.x --- src/Plugin/ConfigNormalizerBase.php | 42 ++++++++++++-- tests/src/Kernel/ConfigNormalizerTest.php | 67 +++++++++++++++++++++++ 2 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 tests/src/Kernel/ConfigNormalizerTest.php diff --git a/src/Plugin/ConfigNormalizerBase.php b/src/Plugin/ConfigNormalizerBase.php index 1d7eb28..7644fd6 100644 --- a/src/Plugin/ConfigNormalizerBase.php +++ b/src/Plugin/ConfigNormalizerBase.php @@ -6,6 +6,7 @@ use Drupal\config_normalizer\Config\NormalizedReadOnlyStorageInterface; use Drupal\Component\Plugin\PluginBase; use Drupal\Core\Entity\EntityTypeManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\Core\DependencyInjection\ContainerNotInitializedException; /** * Base class for Config normalizer plugins. @@ -71,12 +72,41 @@ abstract class ConfigNormalizerBase extends PluginBase implements ConfigNormaliz * TRUE if the context normalization mode is default. Otherwise, FALSE. */ protected function isActiveStorageContext(array $context) { - if ( - !empty($context['reference_storage_service']) && - !empty($context['reference_storage_service']->_serviceId) && - ($context['reference_storage_service']->_serviceId === 'config.storage') - ) { - return TRUE; + // Reverse lookup the storage service to determine if it's active storage. + if (!empty($context['reference_storage_service'])) { + $service = $context['reference_storage_service']; + $serviceId = NULL; + $kernel = \Drupal::service('kernel'); + + // ReverseContainer available in 9.5.1+ is preferred for reverse lookup. + if (\Drupal::hasService('Drupal\Component\DependencyInjection\ReverseContainer')) { + // ReverseContainer specifically not injected because of support scope. + // @phpstan-ignore-next-line + $serviceId = \Drupal::service('Drupal\Component\DependencyInjection\ReverseContainer')->getId($service); + } + // getServiceIdMapping() first available in 9.5.0, deprecated. + // This should be removed when 9.5.0 compatibility is no longer required. + elseif (method_exists($kernel, 'getServiceIdMapping')) { + $mapping = $kernel->getServiceIdMapping(); + try { + $container = \Drupal::getContainer(); + // Deprecated function included only for 9.5.0 compatibility. + // @phpstan-ignore-next-line + $serviceId = $mapping[$container->generateServiceIdHash($service)] ?? NULL; + } + catch (ContainerNotInitializedException $e) { + } + + } + // Fallback to dynamic property before 9.5. + // This should be removed when < 9.5 compatibility is no longer required. + elseif (!empty($service->_serviceId)) { + $serviceId = $service->_serviceId; + } + // TRUE if the service is the active storage service. + if ($serviceId === 'config.storage') { + return TRUE; + } } return FALSE; diff --git a/tests/src/Kernel/ConfigNormalizerTest.php b/tests/src/Kernel/ConfigNormalizerTest.php new file mode 100644 index 0000000..d248841 --- /dev/null +++ b/tests/src/Kernel/ConfigNormalizerTest.php @@ -0,0 +1,67 @@ +<?php + +namespace Drupal\Tests\config_normalizer\Kernel; + +use Drupal\config_normalizer\Config\NormalizedReadOnlyStorageInterface; +use Drupal\KernelTests\KernelTestBase; + +/** + * Tests normalizing configuration. + * + * @group config_normalizer + */ +class ConfigNormalizerTest extends KernelTestBase { + + /** + * Modules to enable. + * + * @var array + */ + protected static $modules = [ + 'system', + 'config_normalizer', + ]; + + /** + * {@inheritdoc} + */ + protected function setUp(): void { + parent::setUp(); + + $this->installConfig(['system']); + } + + /** + * Tests that basic config normalization is working. + */ + public function testNormalization() { + + $data = [ + 'langcode' => 'en', + 'uuid' => '', + 'name' => 'My site', + 'mail' => 'noreply@example.com', + 'slogan' => 'My incredible slogan', + 'page' => [ + '403' => '', + '404' => '', + 'front' => '/user/login', + ], + 'admin_compact_mode' => FALSE, + 'weight_select_max' => 100, + 'default_langcode' => 'en', + ]; + + $context = [ + 'normalization_mode' => NormalizedReadOnlyStorageInterface::NORMALIZATION_MODE_COMPARE, + 'reference_storage_service' => $this->container->get('config.storage'), + ]; + + $this->container->get('plugin.manager.config_normalizer') + ->createInstance('active') + ->normalize('system.site', $data, $context); + + $this->assertArrayHasKey('_core', $data, 'Config normalization failed.'); + } + +} -- GitLab From e02131341b1068d54226043329a9404ada7b69c2 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Wed, 3 May 2023 12:39:47 -0700 Subject: [PATCH 02/26] Issue #3357774 by joegraduate, paraderojether: Coding standards --- src/Config/NormalizedReadOnlyStorageInterface.php | 10 ++++------ src/Config/NormalizedStorageComparerTrait.php | 2 +- src/ConfigItemNormalizer.php | 6 +++++- src/ConfigItemNormalizerInterface.php | 3 ++- src/Plugin/ConfigNormalizer/ConfigNormalizerActive.php | 6 +++++- .../ConfigNormalizer/ConfigNormalizerFilterFormat.php | 1 - 6 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/Config/NormalizedReadOnlyStorageInterface.php b/src/Config/NormalizedReadOnlyStorageInterface.php index b38045b..f8dab29 100644 --- a/src/Config/NormalizedReadOnlyStorageInterface.php +++ b/src/Config/NormalizedReadOnlyStorageInterface.php @@ -2,9 +2,6 @@ namespace Drupal\config_normalizer\Config; -use Drupal\config_filter\Config\ReadOnlyStorage; -use Drupal\config_normalizer\ConfigItemNormalizer; -use Drupal\config_normalizer\Plugin\ConfigNormalizerManager; use Drupal\Core\Config\StorageInterface; /** @@ -41,7 +38,7 @@ interface NormalizedReadOnlyStorageInterface extends StorageInterface { /** * The default context for normalization. * - * Context is an array with the following key-valu pairs: + * Context is an array with the following key-value pairs: * - normalization_mode: The mode used for normalization. * - reference_storage_service: a storage that the configuration is normalized * against. When this is the site's active configuration storage, @@ -56,7 +53,7 @@ interface NormalizedReadOnlyStorageInterface extends StorageInterface { /** * Gets the context to be used for normalization. * - * @param array + * @return array * An array of key-value pairs to pass additional context when needed. */ public function getContext(); @@ -67,7 +64,8 @@ interface NormalizedReadOnlyStorageInterface extends StorageInterface { * If not given, values are defaulted to those in ::DEFAULT_CONTEXT. * * @param array $context - * (optional) An array of key-value pairs to pass additional context when needed. + * (optional) An array of key-value pairs to pass additional context when + * needed. */ public function setContext(array $context = []); diff --git a/src/Config/NormalizedStorageComparerTrait.php b/src/Config/NormalizedStorageComparerTrait.php index 6e9ceb7..8151236 100644 --- a/src/Config/NormalizedStorageComparerTrait.php +++ b/src/Config/NormalizedStorageComparerTrait.php @@ -41,7 +41,7 @@ trait NormalizedStorageComparerTrait { * @param string $mode * (optional) The normalization mode. * - * @return \Drupal\Core\Config\StorageComparer; + * @return \Drupal\Core\Config\StorageComparer * A storage comparer. */ protected function createStorageComparer(StorageInterface $source_storage, StorageInterface $target_storage, $mode = NormalizedReadOnlyStorageInterface::DEFAULT_NORMALIZATION_MODE) { diff --git a/src/ConfigItemNormalizer.php b/src/ConfigItemNormalizer.php index 8c3fa89..095c39e 100644 --- a/src/ConfigItemNormalizer.php +++ b/src/ConfigItemNormalizer.php @@ -38,7 +38,10 @@ class ConfigItemNormalizer implements ConfigItemNormalizerInterface { */ public function normalize($name, array $data, array $context = []) { $normalizers = $this->normalizerManager->getDefinitions(); - uasort($normalizers, ['Drupal\Component\Utility\SortArray', 'sortByWeightElement']); + uasort( + $normalizers, + ['Drupal\Component\Utility\SortArray', 'sortByWeightElement'] + ); foreach (array_keys($normalizers) as $id) { $this->applyNormalizer($id, $name, $data, $context); @@ -63,6 +66,7 @@ class ConfigItemNormalizer implements ConfigItemNormalizerInterface { * configuration. * * @return \Drupal\config_normalizer\Plugin\ConfigNormalizerInterface + * The ConfigNormalizer instance. */ protected function getNormalizerInstance($id) { if (!isset($this->normalizers[$id])) { diff --git a/src/ConfigItemNormalizerInterface.php b/src/ConfigItemNormalizerInterface.php index 45f3095..be58c25 100644 --- a/src/ConfigItemNormalizerInterface.php +++ b/src/ConfigItemNormalizerInterface.php @@ -18,7 +18,8 @@ interface ConfigItemNormalizerInterface { * @param array $data * Configuration array to normalize. * @param array $context - * (optional) An array of key-value pairs to pass additional context when needed. + * (optional) An array of key-value pairs to pass additional context when + * needed. * * @return array * Normalized configuration array. diff --git a/src/Plugin/ConfigNormalizer/ConfigNormalizerActive.php b/src/Plugin/ConfigNormalizer/ConfigNormalizerActive.php index 09d9ef8..01ba0a4 100644 --- a/src/Plugin/ConfigNormalizer/ConfigNormalizerActive.php +++ b/src/Plugin/ConfigNormalizer/ConfigNormalizerActive.php @@ -29,7 +29,11 @@ class ConfigNormalizerActive extends ConfigNormalizerBase implements ContainerFa // Merge in uuid and _core while retaining the key order. $merged = array_replace($active_data, $data); - $data = array_intersect_key($merged, array_flip(array_merge(array_keys($data), ['uuid', '_core']))); + $data = array_intersect_key( + $merged, + array_flip(array_merge(array_keys($data), ['uuid', '_core'])) + ); } } + } diff --git a/src/Plugin/ConfigNormalizer/ConfigNormalizerFilterFormat.php b/src/Plugin/ConfigNormalizer/ConfigNormalizerFilterFormat.php index 3201a0c..9fd5665 100644 --- a/src/Plugin/ConfigNormalizer/ConfigNormalizerFilterFormat.php +++ b/src/Plugin/ConfigNormalizer/ConfigNormalizerFilterFormat.php @@ -3,7 +3,6 @@ namespace Drupal\config_normalizer\Plugin\ConfigNormalizer; use Drupal\config_normalizer\Plugin\ConfigNormalizerBase; -use Drupal\Component\Plugin\DependentPluginInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; /** -- GitLab From 2f507ec5a9ff23393023317c843eceab3ff8cce6 Mon Sep 17 00:00:00 2001 From: Project Update Bot <git@users.noreply.drupalcode.org> Date: Wed, 3 May 2023 12:43:19 -0700 Subject: [PATCH 03/26] Issue #3286666 by Project Update Bot, lelkneralfaro: Automated Drupal 10 compatibility fixes --- config_normalizer.info.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config_normalizer.info.yml b/config_normalizer.info.yml index 4c5dc70..059485b 100644 --- a/config_normalizer.info.yml +++ b/config_normalizer.info.yml @@ -1,8 +1,7 @@ name: 'Configuration Normalizer' type: module description: 'Normalizes configuration for comparison.' -core: 8.x -core_version_requirement: ^8 || ^9 +core_version_requirement: ^8 || ^9 || ^10 package: Configuration dependencies: - config_filter:config_filter -- GitLab From d89474aff2d2399c52658a66d5726fd18181e472 Mon Sep 17 00:00:00 2001 From: Dinesh Kumar Bollu <60581-dineshkumarbollu@users.noreply.drupalcode.org> Date: Fri, 23 Jun 2023 13:41:04 +0000 Subject: [PATCH 04/26] Issue #3358102 by dineshkumarbollu, clarkssquared, Mahima_Mathur23, mlncn: Add README.md file --- README.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f70cf34 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Configuration Normalizer + +Configuration Normalizer processes configuration to prepare it for comparison. + +## Developer usage + +This module can be used to wrap any configuration storage, creating a read-only +version of the storage for which any data read will be returned in a normalized +form. + +The most common usage would be to minimize non-meaningful differences when +comparing configuration data from different sources. Configuration Normalizer +provides a trait to facilitate this. + +For full information about project visit: +[Config Normalizer](https://www.drupal.org/project/config_normalizer). + +## Requirements + +This module requires no modules outside of Drupal core. + +## Installation + +Install as you would normally install a contributed Drupal module. For further +information, see +[Installing Drupal Modules](https://www.drupal.org/docs/extending-drupal/installing-drupal-modules). + +## Acknowledgements + +This module draws significantly on work by Jennifer Hodgdon in Configuration +Update Manager and Fabian Bircher in Config Filter. + + +## Maintainers + +- Joe Parsons- [joegraduate](https://www.drupal.org/u/joegraduate) +- tadean - [tadean](https://www.drupal.org/u/tadean) +- Nedjo Rogers - [nedjo](https://www.drupal.org/u/nedjo) +- Artem Dmitriiev - [a.dmitriiev](https://www.drupal.org/u/admitriiev) +- Fabian Bircher - [bircher](https://www.drupal.org/u/bircher) +- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) \ No newline at end of file -- GitLab From 61d3f8eb77fca1a3382e5238909860abc3d694f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= <ben@agaric.coop> Date: Fri, 23 Jun 2023 09:43:46 -0400 Subject: [PATCH 05/26] Document dependency on Config Filter contrib module --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f70cf34..4747c62 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ For full information about project visit: ## Requirements -This module requires no modules outside of Drupal core. +- [Config Filter](https://www.drupal.org/project/config_filter) ## Installation -- GitLab From cfdcb5aa2d2bdb64c28daed97f882dd2fb777e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= <ben@agaric.coop> Date: Fri, 23 Jun 2023 09:44:19 -0400 Subject: [PATCH 06/26] Add link to issues, plus minor text/format edits To the README. --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4747c62..1096466 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,9 @@ The most common usage would be to minimize non-meaningful differences when comparing configuration data from different sources. Configuration Normalizer provides a trait to facilitate this. -For full information about project visit: -[Config Normalizer](https://www.drupal.org/project/config_normalizer). +For full information visit the project page, [Config Normalizer](https://www.drupal.org/project/config_normalizer). + +And [see or file issues](https://www.drupal.org/project/issues/config_normalizer). ## Requirements @@ -38,4 +39,4 @@ Update Manager and Fabian Bircher in Config Filter. - Nedjo Rogers - [nedjo](https://www.drupal.org/u/nedjo) - Artem Dmitriiev - [a.dmitriiev](https://www.drupal.org/u/admitriiev) - Fabian Bircher - [bircher](https://www.drupal.org/u/bircher) -- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) \ No newline at end of file +- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) -- GitLab From 20a999a8317cb9bc7261391ba4d7ea28913da5f7 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Thu, 16 May 2024 23:48:06 +0000 Subject: [PATCH 07/26] Issue #3447742: Replace Drupal\config_filter\Config\ReadOnlyStorage with core version --- config_normalizer.info.yml | 6 ++---- src/Config/NormalizedReadOnlyStorage.php | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/config_normalizer.info.yml b/config_normalizer.info.yml index 059485b..7680a75 100644 --- a/config_normalizer.info.yml +++ b/config_normalizer.info.yml @@ -1,7 +1,5 @@ name: 'Configuration Normalizer' type: module description: 'Normalizes configuration for comparison.' -core_version_requirement: ^8 || ^9 || ^10 -package: Configuration -dependencies: - - config_filter:config_filter +core_version_requirement: ^8.8 || ^9 || ^10 +package: Configuration \ No newline at end of file diff --git a/src/Config/NormalizedReadOnlyStorage.php b/src/Config/NormalizedReadOnlyStorage.php index a39a3b0..c6b2bba 100644 --- a/src/Config/NormalizedReadOnlyStorage.php +++ b/src/Config/NormalizedReadOnlyStorage.php @@ -2,9 +2,9 @@ namespace Drupal\config_normalizer\Config; -use Drupal\config_filter\Config\ReadOnlyStorage; use Drupal\config_normalizer\ConfigItemNormalizer; use Drupal\config_normalizer\Plugin\ConfigNormalizerManager; +use Drupal\Core\Config\ReadOnlyStorage; use Drupal\Core\Config\StorageInterface; /** -- GitLab From fe37b7ee44f6976a05aeb204397f7f0345f4ff9e Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 21 May 2024 19:53:44 +0000 Subject: [PATCH 08/26] Issue #3436630 by joegraduate: Add .gitlab-ci.yml, address PHPCS/PHPStan warnings. --- .gitlab-ci.yml | 106 +++++++++++++++++++++++++ src/Plugin/ConfigNormalizerBase.php | 8 +- src/Plugin/ConfigNormalizerManager.php | 4 +- 3 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..ddfcfcc --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,106 @@ +################ +# DrupalCI GitLabCI template +# +# Gitlab-ci.yml to replicate DrupalCI testing for Contrib +# +# With thanks to: +# * The GitLab Acceleration Initiative participants +# * DrupalSpoons +################ + +################ +# Guidelines +# +# This template is designed to give any Contrib maintainer everything they need to test, without requiring modification. It is also designed to keep up to date with Core Development automatically through the use of include files that can be centrally maintained. +# +# However, you can modify this template if you have additional needs for your project. +################ + +################ +# Includes +# +# Additional configuration can be provided through includes. +# One advantage of include files is that if they are updated upstream, the changes affect all pipelines using that include. +# +# Includes can be overridden by re-declaring anything provided in an include, here in gitlab-ci.yml +# https://docs.gitlab.com/ee/ci/yaml/includes.html#override-included-configuration-values +################ + +include: + ################ + # DrupalCI includes: + # As long as you include this, any future includes added by the Drupal Association will be accessible to your pipelines automatically. + # View these include files at https://git.drupalcode.org/project/gitlab_templates/ + ################ + - project: $_GITLAB_TEMPLATES_REPO + # "ref" value can be: + # - Recommended (default) - `ref: $_GITLAB_TEMPLATES_REF` - The Drupal Association will update this value to the recommended tag for contrib. + # - Latest - `ref: main` - Get the latest additions and bug fixes as they are merged into the templates. + # - Minor or Major latests - `ref: 1.x-latest` or `ref: 1.0.x-latest` - Get the latest additions within a minor (mostly bugfixes) or major (bugs and new features). + # - Fixed tag - `ref: 1.0.1` - Set the value to a known tag. This will not get any updates. + # If you change the default value of ref, you should set the _CURL_TEMPLATES_REF variable in the variables section to be the same as set here. + ref: $_GITLAB_TEMPLATES_REF + file: + - "/includes/include.drupalci.main.yml" + # For Drupal 7, remove the above line and uncomment the below. + # - "/includes/include.drupalci.main-d7.yml" + - "/includes/include.drupalci.variables.yml" + - "/includes/include.drupalci.workflows.yml" +# +################ +# Pipeline configuration variables +# +# These are the variables provided to the Run Pipeline form that a user may want to override. +# +# Docs at https://git.drupalcode.org/project/gitlab_templates/-/blob/main/includes/include.drupalci.variables.yml +################ +# variables: +# SKIP_ESLINT: '1' +# OPT_IN_TEST_NEXT_MAJOR: '1' +# _CURL_TEMPLATES_REF: 'main' + +################################################################################### +# +# * +# /( +# ((((, +# /((((((( +# ((((((((((* +# ,((((((((((((((( +# ,((((((((((((((((((( +# ((((((((((((((((((((((((* +# *((((((((((((((((((((((((((((( +# ((((((((((((((((((((((((((((((((((* +# *(((((((((((((((((( .(((((((((((((((((( +# ((((((((((((((((((. /(((((((((((((((((* +# /((((((((((((((((( .(((((((((((((((((, +# ,(((((((((((((((((( (((((((((((((((((( +# .(((((((((((((((((((( .((((((((((((((((( +# ((((((((((((((((((((((( ((((((((((((((((/ +# (((((((((((((((((((((((((((/ ,(((((((((((((((* +# .((((((((((((((/ /(((((((((((((. ,((((((((((((((( +# *(((((((((((((( ,(((((((((((((/ *((((((((((((((. +# ((((((((((((((, /(((((((((((((. ((((((((((((((, +# (((((((((((((/ ,(((((((((((((* ,(((((((((((((, +# *((((((((((((( .((((((((((((((( ,((((((((((((( +# ((((((((((((/ /((((((((((((((((((. ,((((((((((((/ +# ((((((((((((( *(((((((((((((((((((((((* *(((((((((((( +# ((((((((((((( ,(((((((((((((..((((((((((((( *(((((((((((( +# ((((((((((((, /((((((((((((* /((((((((((((/ (((((((((((( +# ((((((((((((( /((((((((((((/ (((((((((((((* (((((((((((( +# (((((((((((((/ /(((((((((((( ,((((((((((((, *(((((((((((( +# (((((((((((((( *(((((((((((/ *((((((((((((. ((((((((((((/ +# *((((((((((((((((((((((((((, /((((((((((((((((((((((((( +# ((((((((((((((((((((((((( ((((((((((((((((((((((((, +# .(((((((((((((((((((((((/ ,((((((((((((((((((((((( +# ((((((((((((((((((((((/ ,(((((((((((((((((((((/ +# *((((((((((((((((((((( (((((((((((((((((((((, +# ,(((((((((((((((((((((, ((((((((((((((((((((/ +# ,(((((((((((((((((((((* /(((((((((((((((((((( +# ((((((((((((((((((((((, ,/((((((((((((((((((((, +# ,((((((((((((((((((((((((((((((((((((((((((((((((((( +# .((((((((((((((((((((((((((((((((((((((((((((( +# .((((((((((((((((((((((((((((((((((((,. +# .,(((((((((((((((((((((((((. +# +################################################################################### diff --git a/src/Plugin/ConfigNormalizerBase.php b/src/Plugin/ConfigNormalizerBase.php index 7644fd6..2ea74f7 100644 --- a/src/Plugin/ConfigNormalizerBase.php +++ b/src/Plugin/ConfigNormalizerBase.php @@ -2,11 +2,11 @@ namespace Drupal\config_normalizer\Plugin; -use Drupal\config_normalizer\Config\NormalizedReadOnlyStorageInterface; use Drupal\Component\Plugin\PluginBase; +use Drupal\config_normalizer\Config\NormalizedReadOnlyStorageInterface; +use Drupal\Core\DependencyInjection\ContainerNotInitializedException; use Drupal\Core\Entity\EntityTypeManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; -use Drupal\Core\DependencyInjection\ContainerNotInitializedException; /** * Base class for Config normalizer plugins. @@ -76,9 +76,11 @@ abstract class ConfigNormalizerBase extends PluginBase implements ConfigNormaliz if (!empty($context['reference_storage_service'])) { $service = $context['reference_storage_service']; $serviceId = NULL; + // @phpstan-ignore-next-line $kernel = \Drupal::service('kernel'); // ReverseContainer available in 9.5.1+ is preferred for reverse lookup. + // @phpstan-ignore-next-line if (\Drupal::hasService('Drupal\Component\DependencyInjection\ReverseContainer')) { // ReverseContainer specifically not injected because of support scope. // @phpstan-ignore-next-line @@ -87,8 +89,10 @@ abstract class ConfigNormalizerBase extends PluginBase implements ConfigNormaliz // getServiceIdMapping() first available in 9.5.0, deprecated. // This should be removed when 9.5.0 compatibility is no longer required. elseif (method_exists($kernel, 'getServiceIdMapping')) { + // @phpstan-ignore-next-line $mapping = $kernel->getServiceIdMapping(); try { + // @phpstan-ignore-next-line $container = \Drupal::getContainer(); // Deprecated function included only for 9.5.0 compatibility. // @phpstan-ignore-next-line diff --git a/src/Plugin/ConfigNormalizerManager.php b/src/Plugin/ConfigNormalizerManager.php index 725784e..11a6f94 100644 --- a/src/Plugin/ConfigNormalizerManager.php +++ b/src/Plugin/ConfigNormalizerManager.php @@ -2,10 +2,10 @@ namespace Drupal\config_normalizer\Plugin; -use Drupal\Core\DependencyInjection\DependencySerializationTrait; -use Drupal\Core\Plugin\DefaultPluginManager; use Drupal\Core\Cache\CacheBackendInterface; +use Drupal\Core\DependencyInjection\DependencySerializationTrait; use Drupal\Core\Extension\ModuleHandlerInterface; +use Drupal\Core\Plugin\DefaultPluginManager; /** * Provides the Config normalizer plugin manager. -- GitLab From d81c6e826cee350b68c3ab2b3b3792d720a1d3dd Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Thu, 6 Jun 2024 23:02:48 +0000 Subject: [PATCH 09/26] Issue #3400776 by joegraduate, daniil_borysenko, danahertzberg: Make module compatible with Project Browser --- logo.png | Bin 0 -> 7735 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 logo.png diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..215abac2205ddd60eeb404b61eb5549909d291c3 GIT binary patch literal 7735 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 literal 0 HcmV?d00001 -- GitLab From 127806d823f5f7ff585bee25033dd3a0aa67b495 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Thu, 27 Jun 2024 22:41:28 +0000 Subject: [PATCH 10/26] Issue #3400776 by joegraduate, danahertzberg: Higher contrast logo for project browser. --- logo.png | Bin 7735 -> 1972 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/logo.png b/logo.png index 215abac2205ddd60eeb404b61eb5549909d291c3..5c49f1879cdfcfc68a57705ae21bb53f654b7462 100644 GIT binary patch literal 1972 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 F{|kx{@V)>5 literal 7735 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 -- GitLab From 39b4e80084c42aa01fe21caac99dd8bdf9d46b56 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 9 Jul 2024 22:01:39 +0000 Subject: [PATCH 11/26] Issue #3460354 by joegraduate: GitLabCI: Fix existing CSpell issues --- .cspell-project-words.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .cspell-project-words.txt diff --git a/.cspell-project-words.txt b/.cspell-project-words.txt new file mode 100644 index 0000000..39a4b57 --- /dev/null +++ b/.cspell-project-words.txt @@ -0,0 +1,9 @@ +Artem +Dmitriiev +dmitriiev +Hodgdon +joegraduate +Nedjo +nedjo +Rutz +tadean -- GitLab From e4adf8790202fd79a8f90e0aa736d4be8c30295b Mon Sep 17 00:00:00 2001 From: Project Update Bot <66574-Project-Update-Bot@users.noreply.drupalcode.org> Date: Tue, 9 Jul 2024 22:19:10 +0000 Subject: [PATCH 12/26] Issue #3429461 by joegraduate, Project Update Bot: Automated Drupal 11 compatibility fixes for config_normalizer --- config_normalizer.info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_normalizer.info.yml b/config_normalizer.info.yml index 7680a75..3b6db57 100644 --- a/config_normalizer.info.yml +++ b/config_normalizer.info.yml @@ -1,5 +1,5 @@ name: 'Configuration Normalizer' type: module description: 'Normalizes configuration for comparison.' -core_version_requirement: ^8.8 || ^9 || ^10 +core_version_requirement: ^8.8 || ^9 || ^10 || ^11 package: Configuration \ No newline at end of file -- GitLab From 2c1680b4424e499c878e64701707f9bf7e7cff49 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 9 Jul 2024 22:35:24 +0000 Subject: [PATCH 13/26] Issue #3447742 by joegraduate: Remove no-longer-needed config_filter reference in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1096466..c664db4 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ And [see or file issues](https://www.drupal.org/project/issues/config_normalizer ## Requirements -- [Config Filter](https://www.drupal.org/project/config_filter) +This module requires no modules outside of Drupal core. ## Installation -- GitLab From 41e47e36bf5ff4e020eaa8435de0fee1451952d7 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 9 Jul 2024 23:25:57 +0000 Subject: [PATCH 14/26] Issue #3400776 by joegraduate, danahertzberg: Fix logo size --- logo.png | Bin 1972 -> 2031 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/logo.png b/logo.png index 5c49f1879cdfcfc68a57705ae21bb53f654b7462..a067f318ebdf0a073c24ea6e1a59b18c00c57d79 100644 GIT binary patch literal 2031 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 Lt&7b~CO7pzw3RL5 literal 1972 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 F{|kx{@V)>5 -- GitLab From 9804f6b1570cc90e296bf57a5df4304579530ba6 Mon Sep 17 00:00:00 2001 From: Chris Green <chrisgreen@arizona.edu> Date: Mon, 17 Mar 2025 21:29:27 -0700 Subject: [PATCH 15/26] Issue #3513597 Add composer.json file for easier local development. --- composer.json | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 composer.json diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..c9b4c7a --- /dev/null +++ b/composer.json @@ -0,0 +1,56 @@ +{ + "name": "drupal/config_normalizer", + "description": "Normalizes configuration for comparison.", + "type": "drupal-module", + "license": "GPL-2.0-or-later", + "minimum-stability": "dev", + "authors": [ + { + "name": "Nedjo Rogers (nedjo)", + "homepage": "https://www.drupal.org/u/nedjo", + "role": "Original author" + }, + { + "name": "Fabian Bircher (bircher)", + "homepage": "https://www.drupal.org/u/bircher", + "role": "Maintainer" + }, + { + "name": "Benjamin Melançon (mlncn)", + "homepage": "https://www.drupal.org/u/mlncn", + "role": "Maintainer" + }, + { + "name": "Joe Parsons (joegraduate)", + "homepage": "https://www.drupal.org/u/joegraduate", + "role": "Maintainer" + }, + { + "name": "tadean", + "homepage": "https://www.drupal.org/u/tadean", + "role": "Maintainer" + }, + { + "name": "Artem Dmitriiev (a.dmitriiev)", + "homepage": "https://www.drupal.org/u/a.dmitriiev", + "role": "Maintainer" + }, + { + "name": "Merlin Axel Rutz (geek-merlin)", + "homepage": "https://www.drupal.org/u/geek-merlin", + "role": "Maintainer" + }, + { + "name": "Campus Web Services The University of Arizona (uarizona)", + "homepage": "https://www.drupal.org/u/uarizona", + "role": "Maintainer" + } + ], + "support": { + "issues": "https://www.drupal.org/project/issues/config_normalizer", + "source": "https://git.drupal.org/project/config_normalizer.git" + }, + "require": { + "drupal/core": "^8 || ^9 || ^10" + } +} -- GitLab From f527f7228594653330a98cb31872a8439438f689 Mon Sep 17 00:00:00 2001 From: Fabian Bircher <f.bircher@gmail.com> Date: Sun, 29 Aug 2021 23:17:17 +0200 Subject: [PATCH 16/26] Issue #3230397 by bircher: Normalize the way core does --- config_normalizer.info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_normalizer.info.yml b/config_normalizer.info.yml index 3b6db57..c0781ce 100644 --- a/config_normalizer.info.yml +++ b/config_normalizer.info.yml @@ -2,4 +2,4 @@ name: 'Configuration Normalizer' type: module description: 'Normalizes configuration for comparison.' core_version_requirement: ^8.8 || ^9 || ^10 || ^11 -package: Configuration \ No newline at end of file +package: Configuration -- GitLab From 19dfd4ce5f350d09245ce8a2890ad53a901dddbe Mon Sep 17 00:00:00 2001 From: Fabian Bircher <f.bircher@gmail.com> Date: Mon, 30 Aug 2021 09:23:15 +0200 Subject: [PATCH 17/26] Issue #3230426 by bircher: Rename ConfigItemNormalizerInterface to ConfigNormalizerInterface as main API of the module --- src/ConfigItemNormalizerInterface.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ConfigItemNormalizerInterface.php b/src/ConfigItemNormalizerInterface.php index be58c25..c1f997a 100644 --- a/src/ConfigItemNormalizerInterface.php +++ b/src/ConfigItemNormalizerInterface.php @@ -4,8 +4,11 @@ namespace Drupal\config_normalizer; /** * Defines an interface for config item normalizers. + * + * @deprecated in config_normalizer:2.0.0-alpha1 and is removed from config_normalizer:2.0.0. Use ConfigNormalizerInterface instead. + * @see https://www.drupal.org/project/config_normalizer/issues/3230426 */ -interface ConfigItemNormalizerInterface { +interface ConfigItemNormalizerInterface extends ConfigNormalizerInterface { /** * Normalizes config for comparison. -- GitLab From cf63490fe528d4e5d5400bc53f053054b32a50a2 Mon Sep 17 00:00:00 2001 From: Dinesh Kumar Bollu <60581-dineshkumarbollu@users.noreply.drupalcode.org> Date: Fri, 23 Jun 2023 13:41:04 +0000 Subject: [PATCH 18/26] Issue #3358102 by dineshkumarbollu, clarkssquared, Mahima_Mathur23, mlncn: Add README.md file --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c664db4..ad47131 100644 --- a/README.md +++ b/README.md @@ -39,4 +39,4 @@ Update Manager and Fabian Bircher in Config Filter. - Nedjo Rogers - [nedjo](https://www.drupal.org/u/nedjo) - Artem Dmitriiev - [a.dmitriiev](https://www.drupal.org/u/admitriiev) - Fabian Bircher - [bircher](https://www.drupal.org/u/bircher) -- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) +- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) \ No newline at end of file -- GitLab From 48e145c89fc5edd70b4ee74e4d9c4e6022b8124d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= <ben@agaric.coop> Date: Fri, 23 Jun 2023 09:43:46 -0400 Subject: [PATCH 19/26] Document dependency on Config Filter contrib module --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad47131..f78cb36 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ And [see or file issues](https://www.drupal.org/project/issues/config_normalizer ## Requirements -This module requires no modules outside of Drupal core. +- [Config Filter](https://www.drupal.org/project/config_filter) ## Installation -- GitLab From 03733fc6cd176fe9d081c19a600d815d49db4040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?benjamin=20melan=C3=A7on?= <ben@agaric.coop> Date: Fri, 23 Jun 2023 09:44:19 -0400 Subject: [PATCH 20/26] Add link to issues, plus minor text/format edits To the README. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f78cb36..1096466 100644 --- a/README.md +++ b/README.md @@ -39,4 +39,4 @@ Update Manager and Fabian Bircher in Config Filter. - Nedjo Rogers - [nedjo](https://www.drupal.org/u/nedjo) - Artem Dmitriiev - [a.dmitriiev](https://www.drupal.org/u/admitriiev) - Fabian Bircher - [bircher](https://www.drupal.org/u/bircher) -- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) \ No newline at end of file +- Merlin Axel Rutz - [geek-merlin](https://www.drupal.org/u/geek-merlin) -- GitLab From c4cc974d35a9ca35226033c48ddc1d838a558fa1 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Thu, 16 May 2024 23:48:06 +0000 Subject: [PATCH 21/26] Issue #3447742: Replace Drupal\config_filter\Config\ReadOnlyStorage with core version --- config_normalizer.info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_normalizer.info.yml b/config_normalizer.info.yml index c0781ce..3b6db57 100644 --- a/config_normalizer.info.yml +++ b/config_normalizer.info.yml @@ -2,4 +2,4 @@ name: 'Configuration Normalizer' type: module description: 'Normalizes configuration for comparison.' core_version_requirement: ^8.8 || ^9 || ^10 || ^11 -package: Configuration +package: Configuration \ No newline at end of file -- GitLab From 08857f2eb6f24e3d7db8d973dc78002b72f4029c Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 21 May 2024 19:53:44 +0000 Subject: [PATCH 22/26] Issue #3436630 by joegraduate: Add .gitlab-ci.yml, address PHPCS/PHPStan warnings. -- GitLab From f8d7048f7992c343817b1af45575776868ca1fa8 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Thu, 6 Jun 2024 23:02:48 +0000 Subject: [PATCH 23/26] Issue #3400776 by joegraduate, daniil_borysenko, danahertzberg: Make module compatible with Project Browser -- GitLab From a99143c93f88d8c201f77130f9cccbb4ff33a17e Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 9 Jul 2024 22:35:24 +0000 Subject: [PATCH 24/26] Issue #3447742 by joegraduate: Remove no-longer-needed config_filter reference in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1096466..c664db4 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ And [see or file issues](https://www.drupal.org/project/issues/config_normalizer ## Requirements -- [Config Filter](https://www.drupal.org/project/config_filter) +This module requires no modules outside of Drupal core. ## Installation -- GitLab From 8d36743078ee7a78f42d0ac4aa20229e609fc6d7 Mon Sep 17 00:00:00 2001 From: Joe Parsons <20385-joegraduate@users.noreply.drupalcode.org> Date: Tue, 9 Jul 2024 23:25:57 +0000 Subject: [PATCH 25/26] Issue #3400776 by joegraduate, danahertzberg: Fix logo size -- GitLab From e772394ac0205da025bf7039b43d01fc4a745e8f Mon Sep 17 00:00:00 2001 From: Chris Green <chrisgreen@arizona.edu> Date: Mon, 17 Mar 2025 21:29:27 -0700 Subject: [PATCH 26/26] Issue #3513597 Add composer.json file for easier local development. -- GitLab