diff --git a/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php b/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php index eed5c7038dbff7f5a41c372e806d7ede1b240a53..826727190f074310ce38e4af55587fa73cf0c9b2 100644 --- a/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php +++ b/typo3/sysext/extensionmanager/Classes/DependencyInjection/ExtensionRemotePass.php @@ -39,7 +39,6 @@ final class ExtensionRemotePass implements CompilerPassInterface foreach ($container->findTaggedServiceIds($this->tagName) as $id => $tags) { $definition = $container->findDefinition($id); - $definition->setPublic(true); $configuration = []; foreach ($tags as $attributes) { @@ -47,7 +46,7 @@ final class ExtensionRemotePass implements CompilerPassInterface $configuration['enabled'] = (bool)($attributes['enabled'] ?? true); } - $remoteRegistryDefinition->addMethodCall('registerRemote', [$id, $configuration]); + $remoteRegistryDefinition->addMethodCall('registerRemote', [$definition, $configuration]); } } } diff --git a/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php b/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php index bec492de3b27d6b799d5e196c63859551d6c9688..f66a26b507eece4a9f5ca46fc0ddab2a2e0ec857 100644 --- a/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php +++ b/typo3/sysext/extensionmanager/Classes/Remote/RemoteRegistry.php @@ -17,9 +17,6 @@ declare(strict_types=1); namespace TYPO3\CMS\Extensionmanager\Remote; -use Psr\Container\ContainerInterface; -use TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException; - /** * Registry of remote connectors. * @@ -27,11 +24,6 @@ use TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException; */ class RemoteRegistry { - /** - * @var ContainerInterface - */ - protected $container; - /** * @var ExtensionDownloaderRemoteInterface[] */ @@ -42,22 +34,8 @@ class RemoteRegistry */ protected $defaultRemote; - public function __construct(ContainerInterface $container) - { - $this->container = $container; - } - - public function registerRemote(string $id, array $configuration): void + public function registerRemote(ExtensionDownloaderRemoteInterface $remote, array $configuration): void { - $remote = $this->container->get($id); - - if (!$remote instanceof ExtensionDownloaderRemoteInterface) { - throw new ExtensionManagerException( - 'Extension remote ' . $id . ' must implement ' . ExtensionDownloaderRemoteInterface::class, - 1602173538 - ); - } - $identifier = $remote->getIdentifier(); $this->remotes[$identifier] = array_merge(