60 Commits (6a466a120a404d1c5d492e5ca715841c491517fc)

Author SHA1 Message Date
Jordi Boggiano 6a466a120a
Enable strict types on all files 2 years ago
Jordi Boggiano 6da38f83a0
Add parameter types to all the things 2 years ago
Alexander Schranz 1321bfca36
Add return types to closures (#9) 2 years ago
Jordi Boggiano eda9014bef
Add return types to all code which is not being extended by open source packages 2 years ago
Jordi Boggiano 4e6d54b731
Fix all 5.3 $this-in-closure usages 2 years ago
immeëmosol 50d738eeee
Reaching phpstan level 6 in Composer/DependencyResolver (refs #10159) (#10178) 3 years ago
Jordi Boggiano f25398f52c
Fix 3 years ago
Jordi Boggiano e137046558
Type annotations 3 years ago
Jordi Boggiano 4bcd860b65
Add more type annotations 3 years ago
Jordi Boggiano 4940009f83
Bump phpstan to level 3 (#9734)
Clean up PackageInterface/CompletePackageInterface, add missing methods, type things in solver as BasePackage, added CompleteAliasPackage, ..
3 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 2d3905157d
Merge branch '1.10' 4 years ago
Tyson Andre e5c7835d57 Properly support PHP 8.0 Named Arguments
See https://wiki.php.net/rfc/named_params#internal_functions
(implemented but not yet merged)

An ArgumentCountError will be thrown when passing variadic arguments to
a function with call_user_func_array() if extra unknown named arguments
are encountered.

Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in phar:///path/to/composer.phar/src/Composer/DependencyResolver/DefaultPolicy.php:84

(e.g. for `['phpunit/phpunit' => [72]]`)
4 years ago
Jordi Boggiano 81bf47ffa2
Use fully qualified calls in hot classes 4 years ago
Adam Žurek 25cd2382cb
Raise phpstan level to 1 (#8027) 4 years ago
Nils Adermann 4f44b7b221 Remove unused policy function findUpdatePackages 4 years ago
Jordi Boggiano f68731e663
Remove package/repo priority concept as it is enforced by the pool builder now 4 years ago
Nils Adermann 10ada7bf82 Refactor Installer class into separate install and update processes
- Introduce separate Lock and LocalRepo transactions, one for changes
  to the lock file, one for changes to locally installed packages based
  on lock file
- Remove various hacks to keep dev dependencies updated and
  incorporated the functionality into the transaction classes
- Remove installed repo, there are now local repo, locked repo and
  platform repo
- Remove access to local repo from solver, only supply locked packages
- Update can now be run to modify the lock file but not install packages
  to local repo
5 years ago
Nils Adermann c0f19f6c57 Move construction of pool from repo set into a pool builder
Pool construction depends on the install request now, so only required
packages get loaded, add some structure for future asynchronously
loading composer repositories
6 years ago
Niels Keurentjes ebfceefca6 Removed long deprecated functions that were no longer referenced anywhere. 8 years ago
Jordi Boggiano 125dc62fab Make trigger error visible 9 years ago
Rob Bast a1427d7fd6 replace all occurences in code and comments 9 years ago
Jordi Boggiano d6620195e5 Prioritize repository over package versions in the default policy, fixes #3509 9 years ago
Jordi Boggiano 05e08889ed Add BC method for old usage, refs #3857 9 years ago
isoroku e0657b60a2 Fix misspellings 9 years ago
Nicolas Grekas 4a0feb0189 add --prefer-lowest-stable to update command 10 years ago
Nils Adermann c6af09b1da Make project id public
Reduction of rougly 1.3 million function calls on packagist update
10 years ago
Nils Adermann 5333017aea Remove unused selectNewestPackages method in DefaultPolicy
Unused as of 1b6f57e651
10 years ago
Nils Adermann 3148ffd355 Whitelist packages with names matching those specified before generating rules
Addresses #2690 doesn't do any performance optimisations yet which we
could do now
10 years ago
Jordi Boggiano e848c76cbc Only compare branches as versions in the policy to sort packages, but not in the solver, fixes #1817 11 years ago
Jordi Boggiano 0700cd9186 Adjust according to feedback 11 years ago
Jordi Boggiano db4055b778 Put a higher prio on replacers of the same vendor as the required package 11 years ago
Jordi Boggiano b0297ef67a Add prefer-stable flag to pick stable package over unstable ones when possible 11 years ago
Jordi Boggiano ef637c8f1a CS fixes 12 years ago
Nils Adermann 84dd1fc1bf Merge pull request #898 from Seldaek/providefix
Fix hijacking possibility via provide bug
12 years ago
Jordi Boggiano 2f7130200a Prevent seeing dev versions as equal when they are not, fixes #848 12 years ago
Jordi Boggiano 2d19cf2a00 Fix hijacking possibility via provide bug 12 years ago
Jordi Boggiano 1bd4ccbd54 php-cs-fixer magic 12 years ago
Nils Adermann 451bab1c2c Get rid of Literal object / literal id mix, use literals only to save memory 12 years ago
Nils Adermann bd66c27ff6 We mark packages as uninstallable by removing them from the repo
As it is faster to remove packages from the repos and keep them out of the
package pool to begin with, we don't need an installable() method on the
policy.
12 years ago
Nils Adermann 8fc09afbae Move transaction generation to a separate class 12 years ago
Jordi Boggiano ebf78135c9 Rename method 12 years ago
Jordi Boggiano 06fb1b8083 Fix priority of aliases when mixing root package aliases with branch-alias ones, fixes #576 12 years ago
Jordi Boggiano c425b8b6cb Prevent a package from having duplicate names 12 years ago
Jordi Boggiano 956b54e516 Use policy rule instead of stacking up another repo to prioritize aliased packages 12 years ago
Volker Dusch ec61297122 Remove the allowUninstall policy option and clean up the only usage 12 years ago
Volker Dusch 5fdca19880 Removed the option to disallowed downgrades and simplifed some places where it was used 12 years ago
Nils Adermann 46e1001b4b Replaced packages have higher priority, even if wrong version is replaced 13 years ago
Nils Adermann 4140f08d9c Use a map of installed package ids in the solver
The assumption package.repo == installed no longer holds for installed
packages because there are multiple wrapped installed repositories.
13 years ago
Nils Adermann 2056c4c732 Allow downgrades and uninstalls in the default policy 13 years ago