1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-10 17:12:51 +00:00
Commit graph

54 commits

Author SHA1 Message Date
Jordi Boggiano
892eaacedf
Optimize show -a by loading only the requested package (#11659)
Fixes #11648
2023-09-27 11:28:33 +02:00
Dezső BICZÓ
57a48df34e
Support advisories from multiple repositories for the same package (#11436) 2023-05-07 15:12:04 +02:00
Jordi Boggiano
131da999ac
Fix CS (#11003) 2022-08-17 14:20:07 +02:00
Jordi Boggiano
efd426f8bb
Extract some common logic for filtering away dev requirements into a RepositoryUtils 2022-06-30 15:05:34 +02:00
Jordi Boggiano
8c9f82dc1e
Move security advisory loading to repositories, allows others to provider them and reduces load on packagist.org for summary advisory reports 2022-06-24 16:26:57 +02:00
Jordi Boggiano
556450b15b
Allow using temporary update constraints on all packages (incl non-root), fixes #10436 (#10773) 2022-05-27 14:51:46 +02:00
Jordi Boggiano
6a466a120a
Enable strict types on all files 2022-02-24 13:24:34 +01:00
Jordi Boggiano
0db443ba5f
Add visibility to all consts, fixes #10550 2022-02-23 14:28:04 +01:00
Jordi Boggiano
6da38f83a0
Add parameter types to all the things 2022-02-22 16:48:53 +01:00
Jordi Boggiano
eda9014bef
Add return types to all code which is not being extended by open source packages 2022-02-18 14:32:38 +01:00
Jordi Boggiano
a16ed3d0ed
Add return types to private/internal methods 2022-02-18 11:22:01 +01:00
Jordi Boggiano
abdc6893a6
Add void types where no return statement is present 2022-02-18 10:38:54 +01:00
Jordi Boggiano
86fb8d4412
Fix CS 2022-02-18 08:50:11 +01:00
Yanick Witschi
34183f49f9
Implemented PoolOptimizer 2021-11-11 16:13:24 +01:00
Jordi Boggiano
44b69ba77f
Upgrade php-cs-fixer to 3.x and fix CS 2021-10-27 16:21:45 +02:00
Anatoly Pashin
b1a96a3141
PHPStan level 6 in src/Composer/Repository (#10197) 2021-10-25 12:58:31 +02:00
Jordi Boggiano
01d734125c
Add more type info 2021-08-30 17:45:35 +02:00
Jordi Boggiano
d3c176ec69
PHPStan Level 5 (#10070)
* Bump PHPStan to level 5

* Update seld/phar-utils to latest

* Add phpstan-setup / phpstan scripts
2021-08-21 17:41:52 +02:00
Jordi Boggiano
5d6f9b2528
Prefer @phpstan- annotations as that is what we run against 2021-03-10 10:52:16 +01:00
Jordi Boggiano
4940009f83
Bump phpstan to level 3 (#9734)
Clean up PackageInterface/CompletePackageInterface, add missing methods, type things in solver as BasePackage, added CompleteAliasPackage, ..
2021-03-09 15:49:40 +01:00
Jordi Boggiano
b7d770659b
CS fixes 2020-11-22 14:52:39 +01:00
Jordi Boggiano
14ec957e96
Fix composer show -a usage, fixes #9304 2020-10-20 17:34:07 +02:00
Yanick Witschi
bd6f62c535 Consistently reuse the new PlatformRepository::isPlatformPackage() method 2020-09-01 17:19:19 +02:00
Oleg Andreyev
f262feebec
fixing error message for higher repository priority, when higher repo has only a dev-branch 2020-08-22 20:07:13 +03:00
Graham Campbell
643852a2b0
Marked getRootAliasesPerPackage as static 2020-06-16 13:48:59 +01:00
Jordi Boggiano
a797ee1322
Fix inline aliases not being loaded when extracting dev requirements, fixes #8954 2020-06-16 13:50:29 +02:00
Jordi Boggiano
a695f686c3
Add some docblocks and make sure RepositorySet/PoolBuilder accept regular rootAliases and not pre-normalized ones 2020-04-08 11:46:06 +02:00
Nils Adermann
c270d3cfa6 PoolBuilder: make io non-nullable, NullIO can be used instead 2020-04-01 15:27:51 +02:00
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.
2020-03-27 21:41:49 +01:00
Jordi Boggiano
08cee4c3e9
Implement getProviders equally on all repos 2020-03-12 15:39:26 +01:00
Nils Adermann
ee8df484c4 Separate createPool and createPoolWithAllPackages, fix test description 2020-03-12 13:17:04 +01:00
Nils Adermann
281d8930ff For dev extraction skip pool building, we already have a working package set
Also reduce getProviders back to just providers, and add some todos
2020-03-12 12:19:46 +01:00
Nils Adermann
1f467046d7 Implement getProviders on reposet for all repo types and add replacers
This way errors during require dev extraction make more sense
2020-03-11 17:38:16 +01:00
Jordi Boggiano
9c84f4d79f
Make sure InstalledRepository itself can be added too but requires allowing installed repos in reposet 2020-03-11 17:02:25 +01:00
Jordi Boggiano
2d8a8ed7e3
Add InstalledRepository to clean up some concepts and usages, remove BaseRepository 2020-02-13 21:44:24 +01:00
Jordi Boggiano
835a91532d
Add PRE_POOL_CREATE event, fixes #8348 2020-02-12 10:41:04 +01:00
Jordi Boggiano
2f4ea3a463
Fix show command, refactor RepositorySet constructor 2020-01-30 20:21:17 +01:00
Jordi Boggiano
c41df325d8
Remove RepositorySet from Solver and remove getPool from RepositorySet 2020-01-30 15:23:22 +01:00
Jordi Boggiano
29efc473a1
Suggest which providers could be required to fulfill a virtual package requirement, fixes #2811 2020-01-30 14:43:55 +01:00
Jordi Boggiano
3fc7e10c5c
Improve error reporting of solver issues, refs #7779
Fixes #8525
Fixes #6513
2020-01-30 14:43:54 +01:00
Nils Adermann
0b4e8952f6 PHP5 disallows require as a function name, use requireName analog to fixPackage 2020-01-19 23:28:00 +01:00
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.
2020-01-19 23:21:07 +01:00
Jordi Boggiano
304753ff69
Remove callback and pass stabilities all the way instead
This allows optimizing the loading of ~dev files, and cleans up a few things
2020-01-17 14:57:32 +01:00
Jordi Boggiano
e50f78043a
Try to load packages from lock file only and avoid loading other versions for pinned packages 2020-01-17 12:20:03 +01:00
Jordi Boggiano
dd556f989b
Use LockArrayRepository instead of RepositoryInterface to clearly indicate which type of repo it is in some places 2020-01-15 14:56:58 +01:00
Jordi Boggiano
f68731e663
Remove package/repo priority concept as it is enforced by the pool builder now 2020-01-15 14:52:44 +01:00
Yanick Witschi
d1dc367d86 Removed the filters from the pool 2019-11-27 17:57:24 +01:00
Nils Adermann
f1e4ccbe1d Fix handling of reference updates and root references 2019-09-07 01:58:12 +02:00
Nils Adermann
c875f538ea Make root alias behaviour consistent, add root ref handling, lock to newest metadata
root aliases during install should come from the lock file only, for
better reproducibility we don't reuse the value from update for the
following install
2019-02-14 17:57:29 +01:00
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
2018-09-12 11:49:09 +02:00