Jordi Boggiano
7f3a56f39b
Merge pull request #9360 from naderman/pool-builder-unlock-consider-all-constraints
...
PoolBuilder: Ensure versions matching locked constraints get loaded
2020-12-03 16:59:39 +01:00
Jordi Boggiano
d00edab884
Merge pull request #9477 from naderman/fix-alias-conflicts
...
Explicit conflicts should conflict with aliases of packages too
2020-11-26 13:59:57 +01:00
Nils Adermann
7197278fe9
Always install aliases together with their original package
...
Restores some Composer 1.x behavior like unbound constraints conflicting
with default branches unless they are branch aliased.
Simplifies conflicts with aliases because packages cannot be installed
without their aliases, so we do not need to know which aliases are
uninstalled in lock file or installed.json.
2020-11-26 12:10:07 +01:00
Jordi Boggiano
b7d770659b
CS fixes
2020-11-22 14:52:39 +01:00
Jordi Boggiano
7b183956d8
Make sure the root aliases always get installed when a package is updated, fixes #9448
2020-11-13 13:52:21 +01:00
Nils Adermann
63bed40818
PoolBuilderTest: Add a dependency which must not be loaded on unlock
2020-10-27 22:18:05 +01:00
Nils Adermann
ea42d13f37
PoolBuilderTest: check locked constraints are considered on partial update
2020-10-27 21:59:12 +01:00
Nils Adermann
b5c0e68bc7
PoolBuilder: test case ensuring versions matching locked constraints get loaded
2020-10-27 16:52:31 +01:00
Jordi Boggiano
2d4e1e0dce
Make sure Transaction sorts operations correctly to begin with
2020-10-25 14:06:45 +01:00
Nils Adermann
85eb007f4f
Transaction: Define a total order on packages to keep behavior on PHP8
...
So far the ordering of alias packages with the same name was undefined
so the actual order was determined by implementation of the sorting
algorithm in PHP. As of PHP8 sort is stable by default which changes the
outcome in some of our test cases.
With the fully defined total order the order can longer change depending
on sorting algorithm used and remains the same across PHP versions.
2020-10-14 11:13:51 +02:00
Jordi Boggiano
d702fa0e1a
Add test to ensure root requirements do not get expanded by the pool builder
2020-10-13 15:14:20 +02:00
Michael Telgmann
a4509d28e7
Introduce constants for Composer\Package\Link types
2020-09-21 14:22:06 +02:00
Jordi Boggiano
1593b67230
Fix warnings on higher phpunit versions
2020-09-11 11:01:32 +02:00
Nils Adermann
976fcd2eb4
PoolBuilderTest: Add case for multiple repositories and partial update with replace
2020-09-01 12:07:12 +02:00
Nils Adermann
6c4ed247dd
Add a pool builder test for replaces across multiple repos
2020-08-31 16:00:49 +02:00
Nils Adermann
c9201b8e40
PoolBuilderTest: Allow setting filter options for repositories
2020-08-28 13:07:11 +02:00
Nils Adermann
fcb9ef4899
Allow defining multiple reppos in pool builder tests
2020-08-28 12:15:19 +02:00
Jordi Boggiano
22367a68f9
Avoid loading same packages multiple times
2020-07-17 16:16:58 +02:00
Jordi Boggiano
23339e44b8
Fix alias tests to use default-branches
2020-07-17 16:15:19 +02:00
Jordi Boggiano
2fa58ccf96
Reduce amount of packages loaded by avoiding extensions of the constraint beyond the root constraint
2020-06-06 17:18:42 +02:00
Jordi Boggiano
4b9b499ce5
Fix issue loading aliases and fix markPackageNameForLoading when called twice in a row for same package it would overwrite the constraint the second time
2020-06-06 17:16:54 +02:00
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