Jordi Boggiano
6c85b875f2
Update to PHPStan 1.9
2022-11-03 21:53:42 +01:00
Jellyfrog
8ed7c46179
Add download-only mode ( #11041 )
...
composer install --download-only to prime the cache/download archives but not do any actual of the actual installing
Fixes #11035
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-10-12 13:56:35 +02:00
Jordi Boggiano
8600894003
Update deps, constrain a few types to non-empty-strings
2022-10-12 09:19:36 +02:00
Jordi Boggiano
131da999ac
Fix CS ( #11003 )
2022-08-17 14:20:07 +02:00
Jordi Boggiano
6e205a0c84
Fix minor bug in process executor mock
2022-08-17 13:23:16 +02:00
Jordi Boggiano
70f2dd6edd
Add bump command to bump requirements to the currently installed version, fixes #7273 ( #10829 )
2022-06-09 11:43:59 +02:00
Markus Staab
ccfbc16ac6
fix phpdoc type ( #10669 )
2022-03-30 11:58:30 +02:00
Jordi Boggiano
b0665981c2
Parallellize the branch comparisons to speed up bootstrapping/version guessing when on a feature branch ( #10632 )
...
* Parallellize the branch comparisons to speed up bootstrapping/version guessing when on a feature branch, fixes #10568
* Allow ProcessExecutorMock to function with async calls
2022-03-17 14:52:14 +01:00
Jordi Boggiano
6a466a120a
Enable strict types on all files
2022-02-24 13:24:34 +01:00
Jordi Boggiano
3cdca37e85
Fix strict type issues
2022-02-24 13:24:25 +01:00
Jordi Boggiano
7abc8da7d3
Add more types
2022-02-23 11:37:32 +01:00
Jordi Boggiano
6da38f83a0
Add parameter types to all the things
2022-02-22 16:48:53 +01:00
Alexander Schranz
e9b60580f5
Add return types to tests ( #10 )
2022-02-21 13:42:28 +01:00
Jordi Boggiano
84f0f19112
Split Composer into PartialComposer & Composer classes to avoid nullable properties on Composer for non-fully-loaded instances, add types to Composer\Factory
2022-02-18 14:45:08 +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
Jordi Boggiano
5c98a2cf8e
Add phpstan-symfony to get type info about console InputInterface, fix many errors ( #10476 )
...
Extract common init/require commands functionality into PackageDiscoveryTrait
Extract some helper methods into BaseCommand for better types
2022-02-16 13:24:57 +01:00
Jordi Boggiano
5e4a8a882d
Allow ProcessExecutor to receive commands as arrays, refs #6552 ( #10435 )
2022-01-06 13:56:12 +01:00
Jordi Boggiano
96486d81cb
Fix many PHPStan issues and update baseline
2022-01-01 14:54:21 +01:00
Jordi Boggiano
ffd62795bc
Get rid of all the ->at() mock invocations
2022-01-01 14:54:20 +01:00
Jordi Boggiano
44b69ba77f
Upgrade php-cs-fixer to 3.x and fix CS
2021-10-27 16:21:45 +02:00
Jordi Boggiano
c65d09dff7
Fix @inheritDoc annotations
2021-10-27 16:18:53 +02:00
jakobvibe
d06eb1ec3a
Fix types on mock tests ( #10230 )
...
* Fix types on mock tests
* Added $tty again
Co-authored-by: Jakob Vibe <jv@ipw.dk>
2021-10-27 14:56:39 +02:00
Paolo Rossi
a921d9b233
Reaching phpstan level 6 in EventDispatcher Exception and Installer folders ( #10192 )
2021-10-25 10:44:29 +02:00
Jordi Boggiano
c3c6969cf5
Type annotations
2021-10-16 10:25:12 +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
b77fce8a4f
More deprecation fixes by using ProcessExecutorMock and a couple of PackageInterface type fixes
2021-08-18 23:35:27 +02:00
Jordi Boggiano
6aa2d15868
Introduce ProcessExecutorMock to fix deprecations and amount of mocking pain
2021-08-18 17:17:56 +02:00
Jordi Boggiano
005c55185a
Fix support for writing into UNC paths, and comparing UNC paths correctly in InstalledVersions, fixes #9993
2021-07-12 14:03:00 +02:00
Jordi Boggiano
4c9e75c6e5
Fix CS
2021-06-03 10:38:38 +02:00
Jochen Roth
b6c9d34125
Add install-path and type to installedVersions.php and installed.php, add method to get installed packages by type
...
Issue https://github.com/composer/composer/issues/9648
2021-05-21 14:33:09 +02: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
568d9206cc
Fix tests
2020-10-27 14:04:36 +01:00
Jordi Boggiano
74d89d7110
Get rid of default branch handling in version guesser as it is way too time intensive at every initialization
2020-06-24 21:16:16 +02:00
Jordi Boggiano
6d2b5c1950
Add missing class
2020-06-19 17:58:21 +02:00
Jordi Boggiano
7a37e78a30
Speed up installer tests by avoiding lots of bootstrapping and git processes
2020-06-19 17:56:13 +02:00
Jordi Boggiano
a4a617abb4
Reduce amount of Filesystem/ProcessExecutor instantiations, add lots of docblocks
2020-06-04 16:08:23 +02:00
Jordi Boggiano
0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions
2020-04-22 12:10:09 +02:00
Jordi Boggiano
17ed09be2e
Add failing test showing that packages fail to be installed if they match a previous alias which was not removed yet
2020-04-20 21:50:06 +02:00
Jordi Boggiano
8930f1b824
Add color to lock operations and dry run output
2020-04-08 15:18:28 +02: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
006985a0ea
Execute all operations at once which lets us download all packages in parallel then install only once all downloads succeeded, fixes #2847
...
This also changes the PRE/POST_PACKAGE_INSTALL/UPDATE/UNINSTALL events to have less information available on them, repositorySet, request and policy are gone
2019-11-14 15:21:28 +01:00
Jordi Boggiano
63da7c6b2d
Add install-path to the installed.json for every package, fixes #2174 , closes #2424
2019-08-02 21:39:42 +02:00
Jordi Boggiano
60df892517
Store dev mode in installed.json, fixes #3008
2019-02-21 12:46:02 +01:00
Jordi Boggiano
3dfcae99a9
Add parallel download capability to FileDownloader and derivatives
2019-01-18 08:39:03 +01:00
Jordi Boggiano
713bc4de1d
Minor fixes and updated the rest of the code/tests to use HttpDownloader
2019-01-14 17:29:23 +01:00
Gabriel Caruso
2a13bb2649
Fixes from PHPStan ( #7687 )
...
* fix docblocks
* remove redundant conditional
* fix wrong variable name
* fix wrong namespaces
* add missing private members
* remove unused/redundant arguments
* move testcase class
* exclude TestCase.php
* Tweak RuleWatchGraph type hints
* Tweak doc comment
2018-11-12 15:23:32 +01:00
johnstevenson
ed97c2116c
Use external XdebugHandler library
2018-03-08 19:20:16 +00:00