Nils Adermann
415b36a1a1
Remove match types from Pool as these are no longer used
4 years ago
Nils Adermann
80a5fdf398
Remove obsolete rules and their generation
...
The only automatic conflict we have results from packages using the same name
either by literally having the same name and being different versions or they
replace the same name, so
- removed all types of obsolete rules
- simplified rule generation significantly
- got rid of provide filtering in the pool
- fixed some language in error handling
4 years ago
Nils Adermann
4e3d989978
A package providing a name should not conflict with a package replacing it
...
Simplified whatProvides, mustMatchName is unused, removed unused
function from policy
4 years ago
Jordi Boggiano
8a41f1a5ca
Allow providers which are selected to be installed in place of existing packages which do not satisfy requirements, fixes #6753
4 years ago
Jordi Boggiano
1d31190472
Keep track of unacceptable fixed packages for later to use in error reporting and make sure the pool state is consistent
5 years ago
Jordi Boggiano
f68731e663
Remove package/repo priority concept as it is enforced by the pool builder now
5 years ago
Yanick Witschi
d1dc367d86
Removed the filters from the pool
5 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
83efeaec5c
Attempt to prune versions which are impossible to install during pool building
6 years ago
Nils Adermann
7c2d3518e5
Remove whitelisting of required package names, done by pool builder now
6 years ago
Nils Adermann
81bb8f81ad
Set all package ids only once the pool is created
...
They all get set in one place only and at a specific time when nothing
else will possibly change them anymore
6 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
Nils Adermann
1228bcdffc
Internalize pool creation in repository set, store root aliases in set
...
The pool is still exposed too early in a few places which will require
further refactoring
6 years ago
Nils Adermann
6ef65e5319
Add a new RepositorySet class and restrict pool usage to the solver
...
Breaking change for the plugin interface so bumping the version of
composer-plugin-api to 2.0.0
First step for a refactoring of the package metadata loading mechanism
6 years ago
Christophe Coevoet
e5b948c683
Refactor the handling of conflict rules in the solver
...
Conflict rules are not added in the solver based on the packages loaded in the
solver by require rules, instead of loading remote metadata for them. This has
2 benefits:
- it reduces the number of conflict rules in the solver in case of conflict
rules targetting packages which are not required
- it fixes the behavior of replaces, which is meant to conflict with all
versions of the replaced package, without introducing a performance
regression (this behavior was changed when optimizing composer in the past).
6 years ago
Jordi Boggiano
623c0dcda7
Improve solver error reporting, fixes #5086 , fixes #2575 , fixes #2661
8 years ago
Jordi Boggiano
c9436438ff
Add memoization to parseConstraints, saves some (6-7% here) RAM and marginal CPU time
8 years ago
Rob Bast
1c7016de45
remove dead code/class
9 years ago
Jordi Boggiano
ce08582671
Fix CS
9 years ago
Rob Bast
a1427d7fd6
replace all occurences in code and comments
9 years ago
Nils Adermann
07e1d227c9
Output the size of the pool after dependency resolution for users
9 years ago
Nils Adermann
75c501251d
Revert "Merge remote-tracking branch 'naderman/load-no-providers'"
...
This reverts commit 3e85f82373
, reversing
changes made to b025d0982b
.
9 years ago
Nils Adermann
cfd0e44312
Move private function further down in pool
9 years ago
Nils Adermann
ec5416f03c
loadDev parameter is nonsense, properly load packages in create command
9 years ago
Nils Adermann
b99c03ea04
Entirely remove whatProvides from Composer repository
9 years ago
Nils Adermann
090711b21c
Completely move loading of packages from composer repo to pool
9 years ago
Nils Adermann
4d0db5add6
POC Implementation of loading only explicitly named package data
9 years ago
Hannes Van De Vreken
d017fa4a1d
Unused variable
9 years ago
Jordi Boggiano
3ba581f0df
Improve error messages for required hhvm/php versions, fixes #3767
9 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
dccb728e10
Remove further unnecessary checks for packages being arrays
10 years ago
Nils Adermann
89bd9be295
This entirely removes StreamableRepositories and minimal package arrays
10 years ago
Sam Mousa
670ca2f889
Fixed issue #3441
10 years ago
Nils Adermann
83159dc153
Use elseif instead of else { if {
10 years ago
Nils Adermann
0daaa1a902
Reduce whatProvides overhead
10 years ago
Jordi Boggiano
94926218e8
CS fixes
10 years ago
Ryan Weaver
947db97e33
[ #2492 ] Removing an unused variable and use statement, fixing phpdoc
10 years ago
Jordi Boggiano
ac497feaba
CS fixes
10 years ago
Jordi Boggiano
e23665be59
Fix replacers being picked if whatProvide was called before building the package whitelist, fixes #2991 , fixes #2962
10 years ago
Christian Flothmann
0e9325da79
for AliasPackages check that the aliased package is white listed so that version constraints of AliasPackages are taken into account when computing package provisions
10 years ago
Nils Adermann
aa74818fe0
Handle array candidates in whatProvides
10 years ago
Nils Adermann
eb5c785dcd
Remove superfluous string casts
10 years ago
Nils Adermann
bc7008270f
Properly limit to name matches only if necessary
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
51e6c3a466
Optimize solving by removing packages that are excluded by the root package requires
11 years ago
Jordi Boggiano
11a0d16ccc
CS fixes
11 years ago
Jordi Boggiano
051d219438
Fix whatProvides returning too many results when no constraint is given
11 years ago
Jordi Boggiano
326faf2b51
Minor cleanups
11 years ago
Martin Hasoň
753a8345cb
Added support for the alias of an aliased package
11 years ago
Jordi Boggiano
a0d1d59868
Fix handling of aliases in streamable repos, fixes #1776 , fixes #1749
11 years ago