Skip to content

Default value of "manager-timeout" setting is incompatible with Composer 2.3+ #44

@soren121

Description

@soren121

Foxy's documentation describes the "manager-timeout" config option as being a nullable integer, with the default being null. In Composer 2.3, the ProcessExecutor class has been updated, and its setTimeout method now requires an int value for the timeout parameter. This makes Foxy's default configuration incompatible with Composer 2.3+.

Here's the stack trace thrown when using the default configuration with Composer 2.3:

Merging Composer dependencies in the asset package
yarn check v1.22.18
success Folder in sync.
Done in 0.44s.
Updating yarn dependencies

In ProcessExecutor.php line 388:
                                                                                                                                                                                                  
  [TypeError]                                                                                                                                                                                     
  Argument 1 passed to Composer\Util\ProcessExecutor::setTimeout() must be of the type int, null given, called in /home/nicholas/projects/test/vendor/foxy/foxy/Asset/AbstractAssetManage  
  r.php on line 210                                                                                                                                                                               
                                                                                                                                                                                                  

Exception trace:
  at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/Util/ProcessExecutor.php:388
 Composer\Util\ProcessExecutor::setTimeout() at /home/nicholas/projects/test/vendor/foxy/foxy/Asset/AbstractAssetManager.php:210
 Foxy\Asset\AbstractAssetManager->run() at /home/nicholas/projects/test/vendor/foxy/foxy/Solver/Solver.php:103
 Foxy\Solver\Solver->solve() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/Plugin/PluginManager.php(273) : eval()'d code:205
 Foxy\Foxy_composer_tmp0->solveAssets() at n/a:n/a
 call_user_func() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:202
 Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:125
 Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/Installer.php:372
 Composer\Installer->run() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/Command/UpdateCommand.php:241
 Composer\Command\UpdateCommand->execute() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/vendor/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/vendor/symfony/console/Application.php:1015
 Symfony\Component\Console\Application->doRunCommand() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/vendor/symfony/console/Application.php:299
 Symfony\Component\Console\Application->doRun() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/Console/Application.php:334
 Composer\Console\Application->doRun() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/vendor/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/src/Composer/Console/Application.php:130
 Composer\Console\Application->run() at phar:///home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar/bin/composer:83
 require() at /home/nicholas/.phpenv/versions/7.4.28/composer/composer.phar:29

A workaround for now is to set a non-null "manager-timeout" value in your composer.json ("300" is the default in Composer):

"config": {
    "foxy": {
        "manager-timeout": 300
    },
    "allow-plugins": {
        "foxy/foxy": true
    }
},

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions