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

198 commits

Author SHA1 Message Date
Jordi Boggiano
b7f1550896
Add test covering replacer unfixing 2020-06-06 15:20:14 +02:00
Jordi Boggiano
f2befc46c9
Avoid storing duplicate packages when loading the same package twice 2020-06-05 17:13:39 +02:00
Jordi Boggiano
67a88880ec
Get rid of EmptyConstraint 2020-06-05 16:52:24 +02:00
Yanick Witschi
c7f10bdd90
Fixed RuleTest 2020-06-05 16:52:24 +02:00
Yanick Witschi
bde9502473
Made the constraint argument in Link mandatory 2020-06-05 16:52:24 +02:00
Yanick Witschi
63906171f0
Cleanup EmptyConstraint output 2020-06-05 16:52:24 +02:00
Yanick Witschi
b935a76bc6
Removed already covered test 2020-06-05 16:52:24 +02:00
Yanick Witschi
8b4e834675
Added another poolbuilder test to show issue with constraint matching 2020-06-05 16:52:24 +02:00
Yanick Witschi
71fde80048
Fixed test 2020-06-05 16:52:24 +02:00
Yanick Witschi
29611a4d27
Fixed test descriptions 2020-06-05 16:52:24 +02:00
Yanick Witschi
8e2dd62d10
Fixed tests related to constraint changes 2020-06-05 16:52:24 +02:00
Yanick Witschi
bca88bdd4b
Fixed PoolBuilder running endlessly when packages do not exist 2020-06-05 16:52:24 +02:00
Yanick Witschi
28f82032cd
And here's the key test :) 2020-06-05 16:52:24 +02:00
Yanick Witschi
b87fc5bbfd
Added more poolbuilder test 2020-06-05 16:52:24 +02:00
Nils Adermann
43888cae8c
PoolBuilder: failing test for partial update with multiple deps 2020-06-05 16:52:24 +02:00
Nils Adermann
4f13875f3f
PoolBuilderTest: add new fixtures for partial updates with locked packages 2020-06-05 16:52:24 +02:00
Nils Adermann
85ea29d241
PoolBuilder failing test: do not load alternatives for pkg replaced by fixed pkg 2020-06-05 16:52:24 +02:00
Nils Adermann
208a735645
PoolBuilder Failing test: fixed package is not only pkg loaded for that name 2020-06-05 16:52:24 +02:00
Jordi Boggiano
1ea3111583
Use RULE_LEARNED instead of RULE_FIXED 2020-06-02 13:21:05 +02:00
Jordi Boggiano
5e5f9f8142
Remove unused RULE_INTERNAL_ALLOW_UPDATE 2020-06-02 11:22:35 +02:00
Jordi Boggiano
b72ac2d01a
Oops 2020-05-26 19:55:40 +02:00
Jordi Boggiano
863e7076ba
Bump to use composer/semver 3.x 2020-05-26 19:18:34 +02:00
Jordi Boggiano
34801239f1
Tweak problem wording slightly 2020-04-23 13:17:34 +02:00
Jordi Boggiano
afa18f2092
Fix semver usage 2020-04-21 15:13:01 +02:00
Jordi Boggiano
ba9d4793bc
Fix transaction order 2020-04-20 22:24:00 +02:00
Jordi Boggiano
80a7c40c76
Shorten long lists of similar versions in problem output, fixes #8743 2020-04-15 16:47:44 +02:00
Jordi Boggiano
64f907f93f
Fix handling of aliases to use consistent format everywhere 2020-04-08 12:31:02 +02:00
Jordi Boggiano
80505e745e
Fix phpstan issues 2020-04-07 14:40:51 +02:00
Nils Adermann
c270d3cfa6 PoolBuilder: make io non-nullable, NullIO can be used instead 2020-04-01 15:27:51 +02:00
Jordi Boggiano
45ecbae8f5
Merge branch 'master' into 2.0 2020-02-07 22:20:51 +01:00
Ion Bazan
a2137d5263 use Symfony PHPUnit Bridge 2020-02-07 12:22:22 +08:00
Jordi Boggiano
2f4ea3a463
Fix show command, refactor RepositorySet constructor 2020-01-30 20:21:17 +01:00
Jordi Boggiano
189d5adab0
Fix reporting of replace conflicts to not mention provides 2020-01-30 17:13:12 +01:00
Jordi Boggiano
ec90c17e3b
Fix conflict order to be more accurate 2020-01-30 15:55:37 +01:00
Jordi Boggiano
c41df325d8
Remove RepositorySet from Solver and remove getPool from RepositorySet 2020-01-30 15:23:22 +01:00
Jordi Boggiano
1d4cdb60d0
Improve error reporting for conflicts/replaces of various kinds, fixes #7254 2020-01-30 14:43:56 +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
921a97457d
Add PoolBuilder test harness for writing .test files 2020-01-19 19:46:16 +01:00
Jordi Boggiano
1d31190472
Keep track of unacceptable fixed packages for later to use in error reporting and make sure the pool state is consistent 2020-01-17 15:48:31 +01:00
Jordi Boggiano
b5e34ca767
Fix remove tests 2020-01-17 14:57:33 +01:00
Jordi Boggiano
7a4d3e6f25
Fix SolverTest 2020-01-15 15:03:11 +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
02b6dc876f Fixed phpstan issues 2019-11-27 17:57:24 +01:00
Nils Adermann
aa6bc75af2 Add a test case for transactions to verify correct sorting 2019-11-08 17:51:18 +01:00
Nils Adermann
25de5218c3 Reunify lock and local repo transaction code and apply the same sorting 2019-11-08 15:56:46 +01:00
Nils Adermann
26da52227e Clean up the Solver tests, no more installed repo input and new sorting
The solver now only calculates a lock file transaction which does not
need to be sorted in order of dependencies. This is only necessary for
the local repo transaction generated without the solver during install
2019-11-07 21:51:53 +01:00
Nils Adermann
f5e18250e6 Merge remote-tracking branch 'github-composer/2.0' into solve-without-installed
* github-composer/2.0: (48 commits)
  Fix missing use/undefined var
  Split up steps on VCS downloaders to allow doing network operations before touching the filesystem on GitDownloader, fixes #7903
  Fix use statement
  Deduplicate findHeaderValue code
  Add install-path to the installed.json for every package, fixes #2174, closes #2424
  Remove unnecessary config from phpstan
  Make sure the directory exists and will not block installation later when downloading
  Avoid wiping the whole target package if download of the new one fails, refs #7929
  Only empty dir before actually installing packages, fixes #7929
  Improve output when installing packages
  Show best possible version in diagnose command
  Remove extra arg
  Allow path repos to point to their own source dir as install target, resulting in noop, fixes #8254
  Fix use of decodeJson
  Fix update mirrors to also update transport-options, fixes #7672
  Fix updating or URLs to include dist type and shasum, fixes #8216
  Fix origin computation
  Improve handling of non-standard ports for GitLab and GitHub installs, fixes #8173
  Load packages from the lock file for check-platform-reqs if no dependencies have been installed yet, fixes #8058
  Fix error_handler return type declaration
  ...
2019-09-07 02:55:21 +02:00