From e33225a9917570705c984777554c196b6975a26e Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Thu, 20 Dec 2018 10:17:49 +0200 Subject: [PATCH] m --- rdf_entity.install | 2 + src/RdfEntityServiceProvider.php | 63 ++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 src/RdfEntityServiceProvider.php diff --git a/rdf_entity.install b/rdf_entity.install index bcc0e8eb..e0014ab4 100644 --- a/rdf_entity.install +++ b/rdf_entity.install @@ -76,6 +76,8 @@ function rdf_entity_update_8002() { * Split out the SPARQL entity storage. */ function rdf_entity_update_8003() { + \Drupal::service('module_installer')->install(['sparql_entity_storage']); + // 1. Rename rdf_entity.graph.* > sparql_entity_storage.graph.*. // 2. Rename third_party.rdf_entity > third_party.sparql_entity_storage in // each field storage. diff --git a/src/RdfEntityServiceProvider.php b/src/RdfEntityServiceProvider.php new file mode 100644 index 00000000..bf7c74ae --- /dev/null +++ b/src/RdfEntityServiceProvider.php @@ -0,0 +1,63 @@ +get('kernel'); + + // Act only on update. + if (!in_array(get_class($kernel), [UpdateKernel::class, 'Drush\Drupal\UpdateKernel'])) { + return; + } + + $container->removeDefinition('date.formatter'); + +// $container->removeDefinition('twig.extension'); +// $container->removeDefinition('migrate_run.commands'); + + $remove = ['date.formatter' => TRUE]; + while ($remove) { + $a = []; + foreach ($container->getDefinitions() as $key => $definition) { + foreach ($definition->getArguments() as $argument) { + if ($argument instanceof Reference) { + $argument_key = $argument->__toString(); + if (isset($remove[$argument_key])) { + print_r("a $argument_key\n"); + print "r $key\n"; + $container->removeDefinition($key); + $a[$key] = TRUE; + } + } + } + } + + $remove = $a; +print_r($remove); + } + + + // Remove any aliases which point to undefined services. + $aliases = $container->getAliases(); + foreach ($aliases as $key => $alias) { + if (!$container->has((string) $alias)) { + $container->removeAlias($key); + } + } + } + +}