309 Commits (4bedd8379a5cc3e9e3e02b31ec70d1279a2b7bc4)

Author SHA1 Message Date
Jordi Boggiano 4bedd8379a
Fix php-proxying of binaries to avoid proxying phar files, fixes #9742 3 years ago
Jordi Boggiano b3b0cf629e
Generate binary proxy in PHP if the target binary is detected as a PHP script, so custom PHP processes can be used to call them via the bin proxy path, fixes #9325 3 years ago
Jordi Boggiano f7e8f7625f
Remove plugin installer hackery 3 years ago
Jordi Boggiano cf324ee664
Make sure the plugins can use InstalledVersions to introspect themselves when being activated right after initial install 3 years ago
Jordi Boggiano 78d7792eb8
Fix handling of promises for uninstall step when updating to a different install source 3 years ago
Jordi Boggiano b7d770659b
CS fixes 4 years ago
Andrés De la Cruz 480a6439fd
Fix phpstan phpdocs issues (#9478) 4 years ago
Jordi Boggiano 4ac6f57d18
Add debug output when SIGINT is received 4 years ago
Jordi Boggiano b0d308319e
Extract POST_PACKAGE_* events to be executed all at once and not in parallel with async code to avoid edge cases, fixes #9463 4 years ago
Jordi Boggiano c04c42b7b4
Merge branch '1.10' 4 years ago
Jordi Boggiano 444b91a3ce
Add docs, refs #9422 4 years ago
Jordi Boggiano 881ec8c751
Use httpdownloader/curl to process install notifications 4 years ago
Jordi Boggiano 2d4e1e0dce
Make sure Transaction sorts operations correctly to begin with 4 years ago
Jordi Boggiano dc88236c07
Make sure operations are executed in batches, including downloads, when a plugin is present which modifies downloads, fixes #9333 4 years ago
Simon Berger a6475a7118 Removed unused variables, properties and parameters of private functions 4 years ago
Simon Berger 002fd39bc6 Removed passing of parameters with default value 4 years ago
Simon Berger bae227ec2d Changed all substr calls used to compare fragments of text to strpos
Some additional code cleanups in those classes

Reverted change causing issues
4 years ago
Jordi Boggiano f18d91bd58
Fix pre/post-package-install/update/uninstall events receiving a partial list of operations, fixes #9079 4 years ago
Jordi Boggiano 83c64a9d19
Reuse operation formatting logic in downloaders 4 years ago
Jordi Boggiano aea074308c
Update batching to install plugin deps before the plugin (alone an own batch) 4 years ago
Jordi Boggiano 085fe4e7e5
Add --no-progress support and a few more fixes 4 years ago
Jordi Boggiano 87a0fc5506
Execute operations in batches to make sure plugins install in the expected order 4 years ago
Jordi Boggiano 9f380d606c
Add basic progress bar capability while waiting for jobs to complete 4 years ago
Jordi Boggiano 8f6e82f562
Add support for aborting running promises cleanly 4 years ago
Jordi Boggiano a4a617abb4
Reduce amount of Filesystem/ProcessExecutor instantiations, add lots of docblocks 4 years ago
Jordi Boggiano 5761228068
Make installer classes forward promises from downloaders to InstallationManager 4 years ago
Jordi Boggiano 816d8e9d1b
Fix phpstan error 4 years ago
Jordi Boggiano 396ad87fd0
Add handling of ctrl-C on windows for php 7.4+ 4 years ago
Jordi Boggiano a07f9ffba9
Catch SIGINT/Ctrl+C during installs and run cleanups on all packages before exiting 4 years ago
Jordi Boggiano cdc6a87e8d
Fix docblock 4 years ago
Jordi Boggiano 9b8694bc0b
Show suggestions from root package in suggest, and lists them in count only on first install of a project, fixes #8805 4 years ago
Jordi Boggiano fa14cd1353
Show number of additional suggestions when not using --all, fixes #8788 4 years ago
Jordi Boggiano 0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions 4 years ago
Jordi Boggiano 44a4429978
Remove PEAR installer/downloader/repos/..., fixes #8778 4 years ago
Ayesh Karunaratne fdb35a6a06
Fix \Composer\Installer\PackageEvent::__construct() and \Composer\Repository\ComposerRepository::isVersionAcceptable() required arguments used after optional, which is deprecated in PHP 8.0
1. `Deprecated: Required parameter $name follows optional parameter $constraint in src\Composer\Repository\ComposerRepository.php on line 745`

2. `Deprecated: Required parameter $operation follows optional parameter $operations in src\Composer\Installer\PackageEvent.php on line 73`

Optional parameters with a type declared, and a default value of `null` is excepted from this deprecation. See https://php.watch/versions/8.0/deprecate-required-param-after-optional. This is the case in `ComposerRepository::isVersionAcceptable`, which still has two optional parameters as first two parameters, but this will not raise a deprecation notice.
4 years ago
Jordi Boggiano e34a2a9f45
Remove unused used vars 4 years ago
Jordi Boggiano 8b0da77a1d
Make sure cleanup is called for every package in case any operation fails to execute 4 years ago
Jordi Boggiano a8eec36931
Merge branch '1.10' 4 years ago
Jordi Boggiano 96c1ba279a
Add infos about plugin install failure 4 years ago
Jordi Boggiano 80505e745e
Fix phpstan issues 4 years ago
Jordi Boggiano 3a9b786400
Bring suggest output in line with the rest of update/install output 4 years ago
Jordi Boggiano 44d1e15294
Simplify suggester output when updating, refactor suggest command to reuse SuggestedPackagesReporter and make smarter defaults, fixes #6267 4 years ago
Jordi Boggiano d52ce3c37f
Replace pre/post-dependencies-solving by a pre-operations-exec event happening only on install from lock 4 years ago
Jordi Boggiano 71855e6430
Restore PRE/POST_DEPENDENCY_SOLVING events 4 years ago
Jordi Boggiano 7e142b5d6b
Use Upgrading for package installs too 4 years ago
Nils Adermann 5bdc0fc9c5 Request jobs replaced by root require / fixed package
The only type of request job remaining was "install" which is really a
root requirement. The only other kind of input for the solver is now a
set of fixed packages.

Rules have been updated to account for only two kinds of former job
reason: FIXED or ROOT_REQUIRE. The job property has always been
redundant and has been removed, since reasonData suffices.

Problem reasons are always rules, so the unnecessary wrapping in an
array has been removed.

We now only ever generate a single rule per root require or fixed
package, so there is no need for the solver to special handle disabling
"jobs" anymore, the rule can just be disabled as usual.

For consistency special handling of rules for jobs in problems has been
integrated into the rule class like all other rule reasons. As part of
this change the error message for root requirements has been improved a
bit to make it clearer where the package installation request came from.

The word job has also been removed from operations, which are called
operations, not jobs.
5 years ago
Adam Žurek 406a28708f updated phpstan to 0.12 5 years ago
Jordi Boggiano f2058680a7
Remove unused use statements 5 years ago
Jordi Boggiano 5c62c7d566
Simplify promise handling 5 years ago
Jordi Boggiano f288acb1ca
Execute alias operations still 5 years ago