Skip to content
Snippets Groups Projects

Issue #3238846: Update Composer Stager to 0.2.2

Files
5
@@ -3,38 +3,36 @@
namespace Drupal\package_manager;
use Drupal\Core\Config\ConfigFactoryInterface;
use PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\FileCopierFactory as StagerFileCopierFactory;
use PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\FileCopierFactoryInterface;
use PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\FileCopierInterface;
use PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\PhpFileCopierInterface;
use PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\RsyncFileCopierInterface;
use PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerFactoryInterface;
use PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerFactory as StagerFileSyncerFactory;
use PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerInterface;
use Symfony\Component\Process\ExecutableFinder;
/**
* A file copier factory which returns file copiers according to configuration.
* A file syncer factory which returns file copiers according to configuration.
*/
class FileCopierFactory implements FileCopierFactoryInterface {
class FileSyncerFactory implements FileSyncerFactoryInterface {
/**
* The decorated file copier factory.
*
* @var \PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\FileCopierFactoryInterface
* @var \PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerFactoryInterface
*/
protected $decorated;
/**
* The PHP file copier service.
* The PHP file syncer service.
*
* @var \PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\PhpFileCopierInterface
* @var \PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerInterface
*/
protected $phpFileCopier;
protected $phpFileSyncer;
/**
* The rsync file copier service.
* The rsync file syncer service.
*
* @var \PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\RsyncFileCopierInterface
* @var \PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerInterface
*/
protected $rsyncFileCopier;
protected $rsyncFileSyncer;
/**
* The config factory service.
@@ -48,33 +46,33 @@ class FileCopierFactory implements FileCopierFactoryInterface {
*
* @param \Symfony\Component\Process\ExecutableFinder $executable_finder
* The Symfony executable finder.
* @param \PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\PhpFileCopierInterface $php_file_copier
* The PHP file copier service.
* @param \PhpTuf\ComposerStager\Infrastructure\Process\FileCopier\RsyncFileCopierInterface $rsync_file_copier
* The rsync file copier service.
* @param \PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerInterface $php_file_copier
* The PHP file syncer service.
* @param \PhpTuf\ComposerStager\Infrastructure\FileSyncer\FileSyncerInterface $rsync_file_copier
* The rsync file syncer service.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory service.
*/
public function __construct(ExecutableFinder $executable_finder, PhpFileCopierInterface $php_file_copier, RsyncFileCopierInterface $rsync_file_copier, ConfigFactoryInterface $config_factory) {
$this->decorated = new StagerFileCopierFactory($executable_finder, $php_file_copier, $rsync_file_copier);
$this->phpFileCopier = $php_file_copier;
$this->rsyncFileCopier = $rsync_file_copier;
public function __construct(ExecutableFinder $executable_finder, FileSyncerInterface $php_file_copier, FileSyncerInterface $rsync_file_copier, ConfigFactoryInterface $config_factory) {
$this->decorated = new StagerFileSyncerFactory($executable_finder, $php_file_copier, $rsync_file_copier);
$this->phpFileSyncer = $php_file_copier;
$this->rsyncFileSyncer = $rsync_file_copier;
$this->configFactory = $config_factory;
}
/**
* {@inheritdoc}
*/
public function create(): FileCopierInterface {
public function create(): FileSyncerInterface {
$copier = $this->configFactory->get('package_manager.settings')
->get('file_copier');
switch ($copier) {
case 'rsync':
return $this->rsyncFileCopier;
return $this->rsyncFileSyncer;
case 'php':
return $this->phpFileCopier;
return $this->phpFileSyncer;
default:
return $this->decorated->create();
Loading