public function calculateDependencies() { // All dependencies should be recalculated on every save apart from enforced
// dependencies. This ensures stale dependencies are never saved.
$this->dependencies =
array_intersect_key($this->dependencies,
['enforced' => ''
]);
if ($this instanceof EntityWithPluginCollectionInterface
) { // Configuration entities need to depend on the providers of any plugins
// that they store the configuration for.
foreach ($this->
getPluginCollections() as $plugin_collection) { foreach ($plugin_collection as $instance) { $this->
calculatePluginDependencies($instance);
} } } if ($this instanceof ThirdPartySettingsInterface
) { // Configuration entities need to depend on the providers of any third
// parties that they store the configuration for.
foreach ($this->
getThirdPartyProviders() as $provider) { $this->
addDependency('module',
$provider);
} } return $this;
}