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