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
28ec4fa7b0
Fix handling of invalid emails
2022-02-16 13:24:15 +01:00
Stephan
3eb12efae5
VcsRepositories: handle initialize with invalid repository URL ( #10525 )
2022-02-16 09:37:36 +01:00
Jordi Boggiano
45218092b4
Merge branch '2.2' into main
2022-02-15 16:52:03 +01:00
Jordi Boggiano
6698317342
Make tests more robust
2022-02-15 16:42:50 +01:00
Jordi Boggiano
f808e4907c
Fix handling for non-lowercased enum keyword, fixes #10521
2022-02-15 16:41:06 +01:00
Jordi Boggiano
ae68ada127
Merge branch '2.2' into main
2022-02-08 14:55:10 +01:00
Jordi Boggiano
3cb44bc4c0
Fix build with latest setup-php
2022-02-08 14:54:46 +01:00
Volodymyr Panivko
a0b0ddcd73
Add config option for update reference in path repository ( #10488 )
2022-02-07 13:54:17 +01:00
Jordi Boggiano
4b67a97a25
Update baseline
2022-02-04 16:50:01 +01:00
Jordi Boggiano
3446091027
Merge branch '2.2' into main
2022-02-04 16:31:14 +01:00
Jordi Boggiano
ee36c5e54a
Fix error reporting issues when partial updates cannot update due to a symlinked path repo package, fixes #10451
2022-02-04 15:58:50 +01:00
Florian Engelhardt
3d82719b70
Fix package search not urlencoding the input ( #10500 )
2022-02-04 10:23:10 +01:00
Jordi Boggiano
62d5f4f295
Fix phpstan errors
2022-02-02 22:18:00 +01:00
Markus Staab
6be6ce7d9f
update composer/pcre to 1.0.1 ( #10496 )
2022-02-02 21:35:37 +01:00
Jordi Boggiano
db8ea45295
Fix enum parsing when the syntax is "enum foo:string {}" without space between name and type, fixes #10498
2022-02-02 17:48:45 +01:00
Jordi Boggiano
7591ef0084
Attempt fixing usage of InstalledVersions in tests
2022-02-02 16:08:40 +01:00
Jordi Boggiano
4ce11ab4ab
Support escaping on newer symfony/console versions, fixes #10499
2022-02-02 15:01:55 +01:00
Jordi Boggiano
bf1ad4d240
Make sure test runs in isolated dir
2022-01-21 16:15:28 +01:00
Jordi Boggiano
bab974575c
Merge branch '2.2' into main
2022-01-21 16:00:50 +01:00
Stephan
3b4afaa9e3
ArrayLoader/ValidatingArrayLoader: handle non-string values for version/version_normalized ( #10470 )
...
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-01-21 14:57:28 +01:00
Jordi Boggiano
e3d99cac59
Fix phpstan issues, update baseline and pin PHPStan version in 2.2 branch ( #10474 )
2022-01-21 12:48:16 +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
06e445ce02
Drop PHP <7.2 and HHVM support from autoload_real, individual autoload files are kept as is for BC
2022-01-04 11:55:36 +01:00
Michael Voříšek
4fdc8b8ee1
dirname(__FILE__) no longer needed
2022-01-04 11:22:13 +01:00
Jordi Boggiano
7e50f37b87
Remove some dead code and deprecate JsonFormatter, JsonFile::JSON_* constants, and TlsHelper
2022-01-04 11:15:33 +01:00
Alexander M. Turek
36da81bec2
Remove obsolete Symfony feature detections ( #10425 )
2022-01-04 10:41:33 +01:00
Niels Vanpachtenbeke
1c928466a9
Remove code blocks for php <7.2 compatibility ( #10417 )
2022-01-03 17:35:32 +01:00
Jordi Boggiano
4e6d54b731
Fix all 5.3 $this-in-closure usages
2022-01-03 16:32:39 +01:00
Jordi Boggiano
5805a68645
Fix some todos dropping support for older Symfony releases
2022-01-03 14:51:41 +01:00
Jordi Boggiano
0b3adc84da
Fix a few phpstan errors and add a php8+ baseline for the rest
2022-01-01 14:54:24 +01:00
Jordi Boggiano
a4a2b6da87
Make SvnDriverTest and XzDownloaderTest more portable on Windows
2022-01-01 14:54:23 +01:00
Jordi Boggiano
ccd87c479c
Test fixes
2022-01-01 14:54:23 +01:00
Jordi Boggiano
22fed0d445
Get rid of prophecy usage
2022-01-01 14:54:22 +01:00
Jordi Boggiano
96486d81cb
Fix many PHPStan issues and update baseline
2022-01-01 14:54:21 +01:00
Jordi Boggiano
6ed3aeb343
Remove setExpectedException wrapper
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
095c36ecf8
Fix some PHPStan errors/..
2022-01-01 14:54:20 +01:00
Jordi Boggiano
bf72afec44
Fix Symfony6 compat
2022-01-01 14:54:19 +01:00
Jordi Boggiano
2a771dfb2d
Update PHPUnit to 8.5
2022-01-01 14:54:19 +01:00
Jason Woods
efc7a3f75f
fix: Do not optimise away packages due to a requirement by a locked package that will be uninstalled ( #10405 )
...
Fixes #10394
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-12-31 11:49:42 +01:00
Jordi Boggiano
e1bf45aa80
Fix issue parsing php files with unterminated comments found inside backticks, fixes #10385
2021-12-22 21:42:19 +01:00
Jordi Boggiano
226689b90c
Fix plugin autoloading including files autoload rules from the root package, fixes #10382 ( #10386 )
2021-12-22 16:04:34 +01:00
Jérôme Tamarelle
f0060b7f56
Use web URLs for Gitlab support metadata ( #10377 )
2021-12-22 10:54:48 +01:00
Jordi Boggiano
188b692c4c
Add test verifying only plugin deps are autoloaded ( #10374 )
2021-12-20 14:58:55 +01:00
Jordi Boggiano
8f1b3d21db
Add --no-scripts to all commands and disable plugins/scripts when running self-update ( #10371 )
...
* Add --no-scripts as global parameter available to all commands, and handle it by default when creating a Composer instance from Command::getComposer
* Disable scripts/plugins for self-update command, fixes #10351
2021-12-20 14:23:35 +01:00
Jordi Boggiano
73a12bb21a
Delete old pear package fixtures
2021-12-10 13:50:46 +01:00
Jordi Boggiano
4e3d812212
Fix phpstan warnings
2021-12-08 14:10:42 +01:00
Jordi Boggiano
63c897eaf0
Fix test issues with new composer repo caching
2021-12-08 14:01:46 +01:00
Jordi Boggiano
4e8f3e85e2
Improve error reporting for repo priorities, refs #10339
2021-12-08 14:01:26 +01:00
Jason Woods
8c8d9efd87
Filter impossible packages from the pool ( #9620 )
...
Adds a new pass to the PoolOptimizer
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-12-08 11:42:36 +01:00
Jordi Boggiano
a3e91b5be6
Add allow-plugins config value ( #10314 )
...
Fixes #5659
- Automatically switch off plugins by default in July 2022
- reword hash into object in schema
Co-authored-by: Nils Adermann <naderman@naderman.de>
2021-12-07 23:00:48 +01:00
Jordi Boggiano
ca5d5b40ee
Fix platform package description for replacer/provider and packages which are not really loaded in general
2021-12-07 13:24:09 +01:00
Jordi Boggiano
e30a6b0b9b
Add support for ignoring the upper bound of platform requirements using "name+" notation
2021-12-07 13:24:08 +01:00
Jordi Boggiano
e496c3544c
Fix tests for new dep
2021-12-07 12:57:44 +01:00
Jordi Boggiano
24ce1eddbd
Add composer/pcre dependency and use it everywhere instead of preg_*
2021-12-07 12:37:19 +01:00
Helmut Hummel
ace8a1776c
Add composer platform package with exact Composer version ( #10313 )
...
Co-authored-by: Lars Strojny <lars.strojny@internations.org>
Co-authored-by: Nils Adermann <naderman@naderman.de>
2021-11-27 14:26:57 +01:00
Shalvah
7a3d2b8157
Better hint for missing extensions ( #10283 )
2021-11-26 10:39:07 +01:00
Nils Adermann
b9d7d27c82
Fix tests after grammar fix for php.ini error message
2021-11-26 10:13:49 +01:00
Helmut Hummel
0b9e1da4fc
Allow recursively call composerRequire ( #10312 )
...
Fixes : #10311
Related: #10065
2021-11-25 20:50:26 +01:00
Jordi Boggiano
a6fc1ab663
Fix feedback
2021-11-25 15:18:24 +01:00
Jordi Boggiano
4352f23962
Fix implementation & tweak test
2021-11-25 15:06:00 +01:00
Nils Adermann
b8caf4b214
Test path repo dependencies are updated in transitive partial updates ( #7 )
2021-11-25 15:05:59 +01:00
Jordi Boggiano
d0c1e6cb05
Add InstallerTest for path repo symlink unfixing
2021-11-25 15:05:10 +01:00
Jordi Boggiano
0ae5a6ef59
Add test verifying unfixing behavior of path repo packages
2021-11-25 15:05:10 +01:00
Jordi Boggiano
91548d178b
Add support for setting platform packages to false to disable them ( #10308 )
...
Fixes #9664
2021-11-25 14:46:25 +01:00
Jordi Boggiano
032db5bc01
Fix tests
2021-11-25 12:33:59 +01:00
Jordi Boggiano
126f95a8d7
Get rid of gitignore/hgignore handling ( fixes #7358 ), Add support for -export-ignore ( fixes #9153 )
2021-11-24 22:56:51 +01:00
Jordi Boggiano
e96656d850
Fix tests on windows
2021-11-24 16:19:37 +01:00
Jordi Boggiano
7e3626362e
Add support for warnings/infos keys to report more complex information to diverse Composer versions
2021-11-24 16:00:57 +01:00
Jordi Boggiano
bbc442b0ad
Undo changes to providers, only unlock replacers when unlocking a given name
2021-11-23 16:11:44 +01:00
Jordi Boggiano
3242de2438
Backport tests from #9538 and fix everything
2021-11-23 13:07:19 +01:00
Jordi Boggiano
13b7527fca
Fix unlocking of replacers when a replaced package is unlocked in partial updates
2021-11-23 13:00:28 +01:00
Jordi Boggiano
f509c41280
Upgrade PHPStan to 1.0 ( #10253 )
...
Co-authored-by: Martin Herndl <martin@herndl.org>
2021-11-14 20:42:24 +01:00
Jordi Boggiano
65765a148a
Explicitly deprecate misuse of the link setters to enforce the fact they expect maps ( #10281 )
2021-11-12 21:38:08 +01:00
Jordi Boggiano
ce2a40b259
List identical/compatible removed versions in problem output as if they had not been removed
2021-11-11 16:13:25 +01:00
Yanick Witschi
34183f49f9
Implemented PoolOptimizer
2021-11-11 16:13:24 +01:00
Martin Herndl
7eca450d9b
Add wildcard support to ignore-platform-req, fixes #10045 ( #10083 )
2021-11-11 15:56:38 +01:00
Stephan
44c5b6cde6
Config: add source option for command to show where a config value is loaded from ( #10129 )
2021-11-11 15:17:58 +01:00
Martin Herndl
3013674c92
Refactor ignore platform reqs checks ( #10079 )
...
Introduces a `PlatformRequirementFilter` with methods that help to decide if a requirement is ignored or not as discussed in #10045 but without changing behaviour.
2021-11-11 12:24:12 +01:00
Jordi Boggiano
6aa8a466b7
Fix tests
2021-11-10 22:10:36 +01:00
Raphael de Almeida
150acc5559
Removed HgBitbucketDriver support ( #10248 )
2021-11-10 21:58:03 +01:00
Jordi Boggiano
b09a39f9c8
Error out on recursive links in validating loader and ignore them in regular loader
2021-11-10 11:10:52 +01:00
Jordi Boggiano
bd4d624cc7
Read first from $_SERVER and $_ENV before using getenv ( #10218 )
2021-11-09 16:31:27 +01:00
Martin Herndl
5b47fa1896
Add back abandoned key in repository search results ( #10259 )
2021-11-08 10:27:45 +01:00
Jordi Boggiano
cb0293cf30
Finalize phpstan level 6 for tests dir, closes #10159
2021-11-02 14:32:09 +01:00
Jordi Boggiano
90087b4fb3
Fix handling of php bin proxies combined with declare() on php <8, fixes #10246 ( #10249 )
2021-11-02 11:36:31 +01:00
Martin Herndl
bcbd8fdb61
Add types to `Package` tests ( #10245 )
2021-11-01 21:44:12 +01:00
megubyte
a155c076db
phpstan: update tests/Composer/Test/DependencyResolver/* to level 6 standard ( #10242 )
2021-10-30 10:30:36 +02:00
megubyte
8b7e2b600d
phpstan: update tests/Composer/Test/Downloader/* to level 6 standard ( #10238 )
2021-10-30 10:21:50 +02:00
Martin Herndl
96370657b8
Fix phpstan return type in `SvnTest::urlProvider` ( #10233 )
2021-10-28 10:00:25 +02:00
Martin Herndl
a861d66469
Add types to `EventDispatcher` tests ( #10235 )
2021-10-27 20:35:16 +02:00
Martin Herndl
467fe3c1be
Add types to `Config` tests ( #10234 )
2021-10-27 20:34:48 +02:00
Jordi Boggiano
e5fc8a9c72
Fix phpstan error
2021-10-27 16:51:16 +02:00
Jordi Boggiano
f8ad0bb3d1
Add types to the base TestCase
2021-10-27 16:37:20 +02: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
Martin Herndl
2992e8651a
Add types to `Util` tests ( #10228 )
2021-10-27 16:18:46 +02:00
Martin Herndl
d51c7685da
Add types to `Repository` tests ( #10227 )
2021-10-27 15:29:52 +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
jakobvibe
1ba1463013
Added types to plugin test ( #10231 )
...
Co-authored-by: Jakob Vibe <jv@ipw.dk>
2021-10-27 14:52:34 +02:00
megubyte
c2a2198089
phpstan: update tests/Composer/Test/Installer/* to level 6 standard ( #10225 )
2021-10-27 14:41:30 +02:00
jakobvibe
f667c7b8de
Add types to tests/composer/test/json ( #10222 )
...
Co-authored-by: Jakob Vibe <jv@ipw.dk>
2021-10-27 11:37:51 +02:00
megubyte
135f806f6f
phpstan: update tests/Composer/Test/Autoload/* to level 6 standard ( #10223 )
2021-10-26 21:48:56 +02:00
Martin Herndl
3d5a100018
Add types to `Question` tests ( #10219 )
2021-10-26 21:17:28 +02:00
Martin Herndl
79da1c266e
Add types to `Script` tests ( #10220 )
2021-10-26 21:08:54 +02:00
Christian
4071125172
Added return type docs ( #10221 )
2021-10-26 21:05:03 +02:00
Cédric Anne
a7686e82f0
Filter candidates requiring an unknown platform package; fixes #10167 ( #10184 )
2021-10-26 17:24:17 +02:00
Martin Herndl
bd8b39fe01
Add types to `Package` ( #10210 )
2021-10-25 13:45:09 +02:00
Martin Herndl
aa4c2ab63c
Add types to `Plugin` ( #10194 )
2021-10-25 11:02:54 +02:00
Paolo Rossi
a921d9b233
Reaching phpstan level 6 in EventDispatcher Exception and Installer folders ( #10192 )
2021-10-25 10:44:29 +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
a6f1e803b1
Use more BasePackage instead of PackageInterface
2021-10-17 14:43:34 +02:00
Jordi Boggiano
9599eb613b
Type annotations
2021-10-16 11:14:10 +02:00
Jordi Boggiano
c3c6969cf5
Type annotations
2021-10-16 10:25:12 +02:00
Jordi Boggiano
97fe881af4
Add some docblocks
2021-10-15 16:36:28 +02:00
Jordi Boggiano
260ac0011c
Add constants to describe error codes from Installer::run
2021-10-14 15:12:06 +02:00
Jordi Boggiano
cf7fa7087c
Fix test
2021-10-13 22:23:18 +02:00
Jordi Boggiano
2828ce59cf
Merge branch '1.10'
2021-10-13 22:12:54 +02:00
John Stevenson
906442117c
Carriage returns are ignored by cmd
2021-10-13 14:54:37 +01:00
John Stevenson
0783b043d2
Fix Windows escaping in tests
2021-10-10 17:02:22 +01:00
John Stevenson
8f974fe741
Improve Windows escaping
2021-10-10 16:24:49 +01:00
Jordi Boggiano
18e24976c1
Merge branch '1.10'
2021-10-05 09:43:00 +02:00
Jordi Boggiano
ca5e2f8d50
Fix escaping issues on Windows which could lead to command injection, fixes GHSA-frqg-7g38-6gcf
2021-10-05 09:39:50 +02:00
David Zülke
28b2b5c0c9
tests for solver handling multiple packages with same name and version ( #10110 )
...
Not a case with regular Packagist packages, but some custom installers with custom repos do this, and the current behavior should not randomly change at some point, as that would cause downstream breakage.
2021-10-02 19:02:22 +02:00
Jordi Boggiano
d64d1adf61
Rewrite php file cleaning step to be less regex intensive and support extreme cases better, fixes #10106 ( #10107 )
2021-10-02 14:39:39 +02:00
Jordi Boggiano
d99b200cf3
Fix tests
2021-10-01 10:54:33 +02:00
Jordi Boggiano
f85e2136fd
Merge branch '1.10'
2021-10-01 10:34:36 +02:00
Jordi Boggiano
8cd2d0e541
Fix scanning of classmaps in files containing invalid Unicode, fixes #10102
2021-09-15 11:31:43 +02:00
Jordi Boggiano
4bcd860b65
Add more type annotations
2021-09-05 17:34:12 +02:00
Jordi Boggiano
dd49db6f08
Make sure that names with wildcards which are not preceded by dots are also seen as package names and not version constraints
2021-09-05 09:56:28 +02:00
Jordi Boggiano
0761474599
Add type info to many properties/methods
2021-08-30 14:46:49 +02:00
Jordi Boggiano
f4e2b389a1
Fix test
2021-08-29 20:10:24 +02:00
Jordi Boggiano
922ba01d07
Merge pull request #10072 from jrfnl/feature/10067-fix-classmap-regression
...
ClassMapGenerator: stabilize the heredoc/nowdoc stripping
2021-08-29 12:26:20 +02:00
Jordi Boggiano
d8054d1d2f
Add more possessive quantifiers, unicode flag and support for more post-heredoc syntax, fix test file syntax being invalid
2021-08-29 12:23:02 +02:00
Jordi Boggiano
3f79e59f69
Add test assertions for heredoc marker inside the text
2021-08-23 13:14:16 +02:00
powellblyth
5e75017166
Just some comments with 'it's' that should have been 'its' ( #10071 )
...
Co-authored-by: Toby Powell-Blyth <tobypowell-blyth@elasticstage.com>
2021-08-22 13:41:18 +02:00
jrfnl
b66b23a03f
ClassMapGeneratorTest: add test with consecutive duplicate heredoc markers
...
... as well as a test with heredoc markers with only a newline character between the start and end marker.
2021-08-21 17:45:42 +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
74b231a4bc
Fix lib-openssl detection on FreeBSD, fixes #10046
2021-08-19 15:00:08 +02:00
Jordi Boggiano
a586a753df
Fix all remaining php8.1 test suite deprecations
2021-08-19 13:00:30 +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
5062619046
Fix deprecation warnings with strpos receiving null
2021-08-18 15:55:37 +02:00
Jordi Boggiano
0b09e08f4b
Fix direct deprecations
2021-08-18 15:17:06 +02:00
Jordi Boggiano
cac4c190f1
Merge pull request #10053 from jrfnl/feature/php-8.1-null-to-non-nullable-fix-2
...
PHP 8.1: prevent a "null to non-nullable" deprecation notice [2] (test only fix)
2021-08-18 14:39:51 +02:00
Jordi Boggiano
9708f4568f
Merge pull request #10055 from jrfnl/feature/php-8.1-fix-missing-mock-expectation
...
PHP 8.1/LibraryInstallerTest: add missing mock expectation
2021-08-18 14:31:30 +02:00
Jordi Boggiano
b232ee6663
Fix test
2021-08-18 14:25:35 +02:00
jrfnl
7004e0d031
PHP 8.1/LibraryInstallerTest: add missing mock expectation
...
The `LibraryInstallerTest::testUninstall()` method mocks a `Package` object, but did not set an expectation for a call to `getName()`, while that method _is_ called in the `LibraryInstaller::uninstall()` method.
Without expectation, the mock returns `null`, which was subsequently being passed on to `strpos()` leading to the below error.
Fixes:
```
Deprecation triggered by Composer\Test\Installer\LibraryInstallerTest::testUninstall:
strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated
Stack trace:
0 [internal function]: Symfony\Bridge\PhpUnit\DeprecationErrorHandler->handleError(8192, '...', '...', 202)
1 src/Composer/Installer/LibraryInstaller.php(202): strpos(NULL, '...')
2 vendor/react/promise/src/FulfilledPromise.php(28): Composer\Installer\LibraryInstaller->Composer\Installer\{closure}(NULL)
3 src/Composer/Installer/LibraryInstaller.php(208): React\Promise\FulfilledPromise->then(Object(Closure))
4 tests/Composer/Test/Installer/LibraryInstallerTest.php(221): Composer\Installer\LibraryInstaller->uninstall(Object(Mock_InstalledRepositoryInterface_e3699f95), Object(Mock_Package_e4571076))
...
```
2021-08-12 03:38:56 +02:00
jrfnl
7022ceb0a6
PHP 8.1: prevent a "null to non-nullable" deprecation notice (test only fix)
...
Not all tests in the `InstallerTest` class actually create a temporary directory and set the `$this->tempComposerHome` property.
Those tests which didn't, throw a notice in PHP 8.1.
Fixes 3 notices along the lines of:
```
Deprecation triggered by Composer\Test\InstallerTest::tearDown:
is_dir(): Passing null to parameter #1 ($filename) of type string is deprecated
Stack trace:
0 [internal function]: Symfony\Bridge\PhpUnit\DeprecationErrorHandler->handleError(8192, '...', '...', 53)
1 tests/Composer/Test/InstallerTest.php(53): is_dir(NULL)
...
```
2021-08-12 03:02:19 +02:00