1
0
Fork 0
Commit Graph

35 Commits (547a635287ce17c55cf015c512fdd5f1f3a4aa7c)

Author SHA1 Message Date
Jordi Boggiano 547a635287
Fix build 2024-01-10 13:34:56 +01:00
Jordi Boggiano 042a8c2128
Ensure dist url/type/checksum remain the same when doing lock hash updates, refs #11787 2024-01-10 13:33:49 +01:00
Jordi Boggiano 6c85b875f2
Update to PHPStan 1.9 2022-11-03 21:53:42 +01:00
Jordi Boggiano 131da999ac
Fix CS (#11003) 2022-08-17 14:20:07 +02:00
Jordi Boggiano 1812862d5e
Update phpstan to latest, update baseline (1909, 103) 2022-06-30 17:07:18 +02:00
Mathias Reker ⚡️ 4131f7cf4c
Static lambda (#10854)
Lambdas not (indirect) referencing $this must be declared static.
2022-06-22 14:19:18 +02:00
Jordi Boggiano 6a466a120a
Enable strict types on all files 2022-02-24 13:24:34 +01:00
Jordi Boggiano 6da38f83a0
Add parameter types to all the things 2022-02-22 16:48:53 +01:00
Alexander Schranz 1321bfca36
Add return types to closures (#9) 2022-02-21 13:37:49 +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 44b69ba77f
Upgrade php-cs-fixer to 3.x and fix CS 2021-10-27 16:21:45 +02:00
immeëmosol 50d738eeee
Reaching phpstan level 6 in Composer/DependencyResolver (refs #10159) (#10178) 2021-10-18 22:33:37 +02:00
Jordi Boggiano e137046558
Type annotations 2021-10-17 10:31:09 +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 e6cede4a61
Make sure update mirrors/--lock keeps the release date of the original reference when dev versions have newer commits, refs #9812 2021-04-08 11:54:39 +02: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 73e24ea9fb Partial updates should remove all unused dependencies
Instead of marking locked packages as fixed, we change the pool builder
to load only the locked version and treat it like a fixed package, but
removing the actual request fix, makes the solver treat it as a regular
optional dependency. As a consequence locked packages may be removed on
a partial update of another package, but they cannot be updated.
2020-10-14 11:46:13 +02:00
Jordi Boggiano 89d35af83d
Mark transaction classes internal, refs #8827 2020-07-16 13:59:49 +02:00
Jordi Boggiano 2e64e8dc2e
Avoid generating duplicate aliases in lock file if several aliased packages are installed 2020-04-08 14:18:38 +02:00
Jordi Boggiano 64f907f93f
Fix handling of aliases to use consistent format everywhere 2020-04-08 12:31:02 +02:00
Nils Adermann f7b5cbd1fc Lock file should not contain new aliases for packages which were not updated 2020-04-02 01:12:34 +02: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 0099f56361 Define property which is later accessed in lock transaction 2019-11-07 22:11:54 +01:00
Nils Adermann e308f043b9 Fully switch to spl_object_hash in lock transaction
The pool builder tries to be minimal so it's fine for present/locked
packages not be assigned a solver/pool id. Adding a test to verify
correct creation of uninstall jobs
2019-11-07 21:18:09 +01:00
Nils Adermann cc274ebdf4 Do not reset references on update mirrors if VCS type has changed 2019-11-07 17:42:17 +01:00
Nils Adermann 6925005ac9 Implement update mirrors/nothing/lock as its own installer mode
These special commands no longer (ab)use the partial update mechanism
but rather create a special install request for all current lock file
contents and later override any modified code references to the
originals. This leads to up to date remote metadata but no other
changes.
2019-11-07 17:35:44 +01:00
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
2019-10-30 00:24:25 +01:00
Nils Adermann 995b4f923e Fix more tests which were lacking lock files for partial updates, display fix jobs in problems 2019-09-07 09:32:06 +02:00
Nils Adermann 3989a1b8ee Restore dev package extraction
New approach is to use only the solved set of packages as input and then
to resolve with only the non-dev requirements and to mark everything as
dev that is not part of the result set, rather than transitioning a
temporary local repo state by uninstalling dev packages.
2019-09-07 08:52:10 +02:00
Nils Adermann 06d11f2f38 Fix calculation of lock transaction updates and start updating output in tests 2019-09-07 02:33:50 +02: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 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
2019-02-11 01:00:02 +01:00