Skip to content
Snippets Groups Projects
Commit 7a9099a6 authored by Adam G-H's avatar Adam G-H
Browse files

Issue #3345772 by phenaproxima: \Drupal\automatic_updates\Form\UpdateReady...

Issue #3345772 by phenaproxima: \Drupal\automatic_updates\Form\UpdateReady should use ComposerInspector instead of ComposerUtility
parent 67676ee8
No related branches found
No related tags found
5 merge requests!989Issue #3356804 by phenaproxima: Flag a warning during status check if the...,!763Issue #3345772: \Drupal\automatic_updates\Form\UpdateReady should use ComposerInspector instead of ComposerUtility,!685Issue #3338667: [PP-1] Add build test to test cweaganscomposer-patches end-to-end,!548Issue #3310729: Incorrect documentation link in UI in case of Process error,!106Issue #3247479: Allow LockFileValidator results to carry multiple messages, and improve their text
......@@ -48,7 +48,6 @@ services:
- { name: event_subscriber }
package_manager.composer_inspector:
class: Drupal\package_manager\ComposerInspector
public: false
Drupal\package_manager\ComposerInspector: '@package_manager.composer_inspector'
# Validators.
......
......@@ -6,7 +6,6 @@ namespace Drupal\Tests\package_manager\Kernel;
use Composer\Json\JsonFile;
use Drupal\Component\Serialization\Json;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\package_manager\ComposerInspector;
use Drupal\package_manager\InstalledPackage;
use Drupal\package_manager\JsonProcessOutputCallback;
......@@ -59,14 +58,6 @@ class ComposerInspectorTest extends PackageManagerKernelTestBase {
$inspector->getConfig('extra', $dir);
}
/**
* {@inheritdoc}
*/
public function register(ContainerBuilder $container) {
parent::register($container);
$container->getDefinition('package_manager.composer_inspector')->setPublic(TRUE);
}
/**
* @covers ::getInstalledPackagesList
*/
......
......@@ -4,7 +4,6 @@ declare(strict_types = 1);
namespace Drupal\Tests\package_manager\Kernel;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\fixture_manipulator\ActiveFixtureManipulator;
use Drupal\package_manager\ComposerUtility;
use Symfony\Component\Process\Process;
......@@ -153,14 +152,6 @@ class FakeSiteFixtureTest extends PackageManagerKernelTestBase {
$this->assertSame(['any-org/any-package', 'drupal/core', 'drupal/core-dev', 'drupal/core-recommended'], $list_packages_names);
}
/**
* {@inheritdoc}
*/
public function register(ContainerBuilder $container) {
parent::register($container);
$container->getDefinition('package_manager.composer_inspector')->setPublic(TRUE);
}
/**
* Tests that the fixture passes `composer validate`.
*/
......
......@@ -44,9 +44,6 @@ class LockFileValidatorTest extends PackageManagerKernelTestBase {
public function register(ContainerBuilder $container) {
parent::register($container);
$service_id = 'package_manager.composer_inspector';
$container->getDefinition($service_id)->setPublic(TRUE);
// Temporarily mock the Composer inspector to prevent it from complaining
// over the lack of a lock file if it's invoked by other validators.
$inspector = $this->prophesize(ComposerInspector::class);
......@@ -56,7 +53,7 @@ class LockFileValidatorTest extends PackageManagerKernelTestBase {
$inspector->getConfig('minimum-stability', $arguments)->willReturn('stable');
$inspector->getInstalledPackagesList($arguments)->willReturn(new InstalledPackagesList());
$inspector->validate($arguments);
$container->set($service_id, $inspector->reveal());
$container->set('package_manager.composer_inspector', $inspector->reveal());
}
/**
......
......@@ -5,7 +5,6 @@ declare(strict_types = 1);
namespace Drupal\Tests\package_manager\Traits;
use Composer\Autoload\ClassLoader;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\fixture_manipulator\FixtureManipulator;
use Symfony\Component\Process\Process;
......@@ -43,14 +42,6 @@ trait ComposerInstallersTrait {
(new Process(['composer', 'require', 'composer/installers:@dev', $working_dir_option]))->mustRun();
}
/**
* {@inheritdoc}
*/
public function register(ContainerBuilder $container) {
parent::register($container);
$container->getDefinition('package_manager.composer_inspector')->setPublic(TRUE);
}
/**
* Sets the installer paths config.
*
......
......@@ -6,6 +6,7 @@ namespace Drupal\automatic_updates\Form;
use Drupal\automatic_updates\BatchProcessor;
use Drupal\automatic_updates\Updater;
use Drupal\package_manager\ComposerInspector;
use Drupal\package_manager\Exception\StageFailureMarkerException;
use Drupal\package_manager\ValidationResult;
use Drupal\Core\Batch\BatchBuilder;
......@@ -41,6 +42,8 @@ final class UpdateReady extends UpdateFormBase {
* The renderer service.
* @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $eventDispatcher
* Event dispatcher service.
* @param \Drupal\package_manager\ComposerInspector $composerInspector
* The Composer inspector service.
*/
public function __construct(
protected Updater $updater,
......@@ -48,6 +51,7 @@ final class UpdateReady extends UpdateFormBase {
protected ModuleExtensionList $moduleList,
protected RendererInterface $renderer,
protected EventDispatcherInterface $eventDispatcher,
private ComposerInspector $composerInspector
) {}
/**
......@@ -66,7 +70,8 @@ final class UpdateReady extends UpdateFormBase {
$container->get('state'),
$container->get('extension.list.module'),
$container->get('renderer'),
$container->get('event_dispatcher')
$container->get('event_dispatcher'),
$container->get('package_manager.composer_inspector')
);
}
......@@ -89,8 +94,9 @@ final class UpdateReady extends UpdateFormBase {
$messages = [];
try {
$staged_core_packages = $this->updater->getStageComposer()
->getCorePackages();
$staged_core_packages = $this->composerInspector->getInstalledPackagesList($this->updater->getStageDirectory())
->getCorePackages()
->getArrayCopy();
}
catch (\Throwable) {
$messages[MessengerInterface::TYPE_ERROR][] = $this->t('There was an error loading the pending update. Press the <em>Cancel update</em> button to start over.');
......@@ -127,7 +133,7 @@ final class UpdateReady extends UpdateFormBase {
'#type' => 'html_tag',
'#tag' => 'p',
'#value' => $this->t('Drupal core will be updated to %version', [
'%version' => reset($staged_core_packages)->getPrettyVersion(),
'%version' => reset($staged_core_packages)->version,
]),
];
$form['backup'] = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment