49 Commits (6a466a120a404d1c5d492e5ca715841c491517fc)

Author SHA1 Message Date
Jordi Boggiano 6a466a120a
Enable strict types on all files 2 years ago
Jordi Boggiano 0db443ba5f
Add visibility to all consts, fixes #10550 2 years ago
Jordi Boggiano 6da38f83a0
Add parameter types to all the things 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 abdc6893a6
Add void types where no return statement is present 2 years ago
immeëmosol 50d738eeee
Reaching phpstan level 6 in Composer/DependencyResolver (refs #10159) (#10178) 3 years ago
Jordi Boggiano a6f1e803b1
Use more BasePackage instead of PackageInterface 3 years ago
Jordi Boggiano b209816056
Type annotations 3 years ago
Jordi Boggiano 4bcd860b65
Add more type annotations 3 years ago
Jordi Boggiano b7d770659b
CS fixes 4 years ago
Nils Adermann 8a2bae82ab Improve docblocks on fixed/locked/fixedLocked packages in request
Also fixes two small code review issues
4 years ago
Nils Adermann fdde9e5933 On composer install we fix locked packages, but consider them locked for error reporting 4 years ago
Nils Adermann 74fb313c39 Separate locked packages from fixed packages in request
Locked packages are basically like removable fixed packages, so we still
only load one version, but we do not require their installation unless
something the user needs requires their use. So they automatically get
removed if they are no longer needed on any update.
4 years ago
Simon Berger 80d71ccb3f Merged isset, unset and str_replace calls 4 years ago
Jordi Boggiano 199696d120
Fix undefined method call 4 years ago
Jordi Boggiano f516d36f6f
Make sure Request::requireName can not be called twice for the same name 4 years ago
Jordi Boggiano 67a88880ec
Get rid of EmptyConstraint 4 years ago
Yanick Witschi 10555ecff3
Make sure there's always a constraint 4 years ago
Nils Adermann 9fb09049ff Rename and document constants for partial update behavior 4 years ago
Nils Adermann 01fe92905a The update allow list is now generated while building the pool
This reduces code complexity while making partial updates more
predictable. This also allows composer require to successfully run a
partial update for a new package with transitive dependency updates.
4 years ago
Nils Adermann da84763f03 Move partial update handling to pool builder 4 years ago
Nils Adermann 0b4e8952f6 PHP5 disallows require as a function name, use requireName analog to fixPackage 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.
4 years ago
Jordi Boggiano e162cc6f0a
Remove "remove" from request 4 years ago
Jordi Boggiano 572ef1add1
Add comment for lockable 4 years ago
Jordi Boggiano cc91e9164a
Stop unrolling the root aliases 4 years ago
Jordi Boggiano dd556f989b
Use LockArrayRepository instead of RepositoryInterface to clearly indicate which type of repo it is in some places 4 years ago
Nils Adermann 0ff07015a1 Only load package info from lock file for fixed packages
As a result some lock file packages are no longer in the pool, so the
former installed map, now present map cannot use package ids anymore

Need to revisit some more code later to simplify this, todo notes left
5 years ago
Nils Adermann 06d11f2f38 Fix calculation of lock transaction updates and start updating output in tests 5 years ago
Nils Adermann f1e4ccbe1d Fix handling of reference updates and root references 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
Jordi Boggiano 3b0a1c6f70 Run cs fixer and update config to latest master 8 years ago
Niels Keurentjes 818c3e707a Ton of phpDoc fixes. 8 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 b4ed331168 The Solver Request no longer depends on the Pool 9 years ago
Jordi Boggiano ec0463a400 Add tests for platform packages required by root and avoid creating rules altogether instead of disabling them, refs #3320 10 years ago
Nils Adermann 5b80144ad0 Resolve job packages after whitelist generation 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
Nils Adermann 2c87fe5a22 Collect solver problems in Problem objects with human readable output. 12 years ago
Nils Adermann 3e1749fbad Readd update-all jobs and make them available through the request 12 years ago
Benjamin Grandfond 72bfe8b92c Fix Exception in Request
Fix the exception "Invalid argument supplied for foreach()" when the
install command is launched multiple times.
13 years ago
Joseph Bielawski 62bce6b9ed [Request] Be more DRY 13 years ago
Jordi Boggiano 6b5f61943a Lowercase package names in Request (fixes tests) 13 years ago
Jordi Boggiano 3524d0388a Fixed use statement 13 years ago
Jordi Boggiano 92d443d07e Fix arg order 13 years ago
Nils Adermann 4dad9fa6ef Adding support for LinkConstraints to the solver requests.
Constraints are directly passed on to the pool's whatProvides method
which returns a set of packages that satisfy name and constraint conditions.
13 years ago
Jordi Boggiano 7ea2fd6c93 Fix author/copyright 13 years ago
Nils Adermann 933cc6179b Import initial partial port of the libzypp satsolver. 13 years ago