Skip to content

Commit c15bccf

Browse files
committed
bug #761 Fix errors during the upgrade or downgrade of symfony/flex (rosier)
This PR was squashed before being merged into the 1.12-dev branch. Discussion ---------- Fix errors during the upgrade or downgrade of symfony/flex Composer fails during the upgrade of symfony/flex ``` $ composer create-project symfony/skeleton flex && cd flex $ composer require symfony/flex dev-main -v ./composer.json has been updated Running composer update symfony/flex > pre-update-cmd: Symfony\Flex\Flex_composer_tmp0->configureInstaller Loading composer repositories with package information > pre-pool-create: Symfony\Flex\Flex_composer_tmp0->truncatePackages Updating dependencies Dependency resolution completed in 0.000 seconds Analyzed 135 packages to resolve dependencies Analyzed 210 rules to resolve dependencies Lock file operations: 0 installs, 1 update, 0 removals Updates: symfony/flex:dev-main 4d7970f - Upgrading symfony/flex (v1.12.2 => dev-main 4d7970f) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 1 update, 0 removals Updates: symfony/flex:dev-main 4d7970f - Upgrading symfony/flex (v1.12.2 => dev-main 4d7970f): Extracting archive PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function Symfony\Flex\Command\GenerateIdCommand::__construct(), 0 passed in phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(213) : eval()'d code on line 278 and exactly 1 expected in /private/tmp/flex/vendor/symfony/flex/src/Command/GenerateIdCommand.php:22 Stack trace: #0 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(213) : eval()'d code(278): Symfony\Flex\Command\GenerateIdCommand->__construct() #1 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(320): Symfony\Flex\Flex_composer_tmp1->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO)) #2 phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(224): Composer\Plugin\PluginManager->addPlugin(Object(Symfony\Flex\Flex_composer_tmp1), false) #3 phar:///usr/local/bin/composer/src/Composer/Installer/PluginInstaller.php(100): Composer\Plugin\PluginManager->registerPackage(Object(Composer\Package\CompletePackage), true) #4 [in in /private/tmp/flex/vendor/symfony/flex/src/Command/GenerateIdCommand.php on line 22 Commits ------- b4eb22d Fix errors during the upgrade or downgrade of symfony/flex
2 parents 4d7970f + b4eb22d commit c15bccf

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src/Command/GenerateIdCommand.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818

1919
class GenerateIdCommand extends Command
2020
{
21+
public function __construct(/* cannot be type-hinted */ $flex = null)
22+
{
23+
// No-op to support downgrading to v1.12.x
24+
25+
parent::__construct();
26+
}
27+
2128
protected function configure()
2229
{
2330
$this->setName('symfony:generate-id');

src/Downloader.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ public function getSessionId(): string
5959
return $this->sess;
6060
}
6161

62+
public function setFlexId(string $id = null)
63+
{
64+
// No-op to support downgrading to v1.12.x
65+
}
66+
6267
public function isEnabled()
6368
{
6469
return $this->enabled;

src/Flex.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,9 @@ class_exists(__NAMESPACE__.str_replace('/', '\\', substr($file, \strlen(__DIR__)
275275
$app->add(new Command\UnpackCommand($resolver));
276276
$app->add(new Command\RecipesCommand($this, $this->lock, $rfs));
277277
$app->add(new Command\InstallRecipesCommand($this, $this->options->get('root-dir')));
278-
$app->add(new Command\GenerateIdCommand());
278+
if (class_exists(Command\GenerateIdCommand::class)) {
279+
$app->add(new Command\GenerateIdCommand(null));
280+
}
279281
$app->add(new Command\DumpEnvCommand($this->config, $this->options));
280282

281283
break;

0 commit comments

Comments
 (0)