1428 Commits (54123e4093c7770ec3d807263274ce750302bc4b)

Author SHA1 Message Date
Jordi Boggiano 24eac88321
Switch the default version in path repo packages to dev-main and add a dev-master alias for BC, fixes #10360 (#10372) 3 years ago
Jordi Boggiano cc32ebcabd
Search improvements (#10336)
* Search performance improvements, add SEARCH_VENDOR type, fixes #10326, fixes #10324, fixes #10325

* Add extra optimization path for autocompletion of ^foo/* whereas the vendor is fully known, refs #10320
3 years ago
Jordi Boggiano 24ce1eddbd
Add composer/pcre dependency and use it everywhere instead of preg_* 3 years ago
Jordi Boggiano b42a897ebe
Fix var name 3 years ago
Jordi Boggiano 128a2648fb
Optimize name only search with preg_grep, refs #10326 3 years ago
Jordi Boggiano 7c8267f57c
Cache root packages.json, refs #10326 3 years ago
Stephan f5ffedfe60
Fix VcsDrivers initialization of tags and branches, and VcsRepository swallowing exceptions (#10319)
* Drivers: avoid early initialize of tags and branches

* VcsRepository: do not continue if fetching root information fails because of unexpected exceptions

Also rethrow 5XX exception in addition to select 4XX exceptions
3 years ago
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>
3 years ago
Jordi Boggiano 91548d178b
Add support for setting platform packages to false to disable them (#10308)
Fixes #9664
3 years ago
Jordi Boggiano 032db5bc01
Fix tests 3 years ago
Jordi Boggiano f509c41280
Upgrade PHPStan to 1.0 (#10253)
Co-authored-by: Martin Herndl <martin@herndl.org>
3 years ago
Jordi Boggiano 61b50cb7ec
Remove hack from ComposerRepository, fixes #9297 3 years ago
Jordi Boggiano 65765a148a
Explicitly deprecate misuse of the link setters to enforce the fact they expect maps (#10281) 3 years ago
Yanick Witschi 34183f49f9
Implemented PoolOptimizer 3 years ago
Martin Herndl 7eca450d9b
Add wildcard support to ignore-platform-req, fixes #10045 (#10083) 3 years ago
Stephan 012556daee
VcsRepository: limit type of versionTransportExceptions (#10275) 3 years ago
Jordi Boggiano 68847ed609
Tweak bitbucket driver to uniformize regexes 3 years ago
Jordi Boggiano ba1814f306
Added retry behavior for certain http status and curl error codes (#10162) 3 years ago
Jordi Boggiano cda7863f20
Get rid of the abstract BitbucketDriver class, fixes #9856 3 years ago
Raphael de Almeida 150acc5559
Removed HgBitbucketDriver support (#10248) 3 years ago
Jordi Boggiano bd4d624cc7
Read first from $_SERVER and $_ENV before using getenv (#10218) 3 years ago
Martin Herndl 5b47fa1896
Add back abandoned key in repository search results (#10259) 3 years ago
Jordi Boggiano 44b69ba77f
Upgrade php-cs-fixer to 3.x and fix CS 3 years ago
Jordi Boggiano c65d09dff7
Fix @inheritDoc annotations 3 years ago
Martin Herndl 3645d3042c
Add types to root namespace (#10213) 3 years ago
Jordi Boggiano 0e96f363e1
Remove redundancy in package type 3 years ago
Anatoly Pashin b1a96a3141
PHPStan level 6 in src/Composer/Repository (#10197) 3 years ago
Martin Herndl 995bf5a932
Add types to `Util` namespace, refs #10159 (#10190) 3 years ago
Stephan 261d93aacf
ComposerRepository: handle packages.json with null value for package (#10189) 3 years ago
Jordi Boggiano d1c8a4d1b4
Lots of typing improvements 3 years ago
Jordi Boggiano a7963b7fed
Fix ComposerRepository handling of offline state to allow resolution as long as everything is present in the cache, fixes #10116 3 years ago
Stephan edccad4e05
VcsRepository: do not continue when receiving 429 rate limit exception (#10132) 3 years ago
Alexander Schranz 99c6b450e6
Check for returned link header in GithubDriver 3 years ago
Jordi Boggiano 01d734125c
Add more type info 3 years ago
powellblyth 5e75017166
Just some comments with 'it's' that should have been 'its' (#10071)
Co-authored-by: Toby Powell-Blyth <tobypowell-blyth@elasticstage.com>
3 years ago
Jordi Boggiano d3c176ec69
PHPStan Level 5 (#10070)
* Bump PHPStan to level 5

* Update seld/phar-utils to latest

* Add phpstan-setup / phpstan scripts
3 years ago
Jordi Boggiano 8ce0ea300e
Fix pear repo preventing self-update from functioning, fixes #10049 3 years ago
Juliette f5a0dfeb50
PHP 8.1: fix deprecation warnings about incorrect default values (#10036)
* PHP 8.1/Tests: fix some deprecation warnings

The default value for the `preg_split()` `$limit` parameter is `-1`, not `null`.

Fixes numerous `preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated` notices when running the test suite.

Ref: https://www.php.net/manual/en/function.preg-split.php

* PHP 8.1/NoProxyPattern: fix deprecation warning

The default value for the `preg_split()` `$limit` parameter is `-1`, not `null`.

Fixes some `preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated` notices when running the test suite.

```
Deprecation triggered by Composer\Test\Util\Http\ProxyManagerTest::testGetProxyForRequest:
preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated

Stack trace:
0 [internal function]: Symfony\Bridge\PhpUnit\DeprecationErrorHandler->handleError(8192, '...', '...', 42)
1 src/Composer/Util/NoProxyPattern.php(42): preg_split('...', '...', NULL, 1)
2 src/Composer/Util/Http/ProxyManager.php(148): Composer\Util\NoProxyPattern->__construct('...')
3 src/Composer/Util/Http/ProxyManager.php(50): Composer\Util\Http\ProxyManager->initProxyData()
4 src/Composer/Util/Http/ProxyManager.php(59): Composer\Util\Http\ProxyManager->__construct()
5 tests/Composer/Test/Util/Http/ProxyManagerTest.php(75): Composer\Util\Http\ProxyManager::getInstance()
...
```

Ref: https://www.php.net/manual/en/function.preg-split.php

* PHP 8.1: fix deprecation warnings / http_build_query()

This fixes all relevant calls to the PHP native `http_build_query()` function.
The second parameter of which is the _optional_ `$numeric_prefix` parameter which expects a `string`.

A parameter being optional, however, does not automatically make it nullable.

As of PHP 8.1, passing `null` to a non-nullable PHP native function will generate a deprecation notice.
In this case, these function calls yielded a `http_build_query(): Passing null to parameter #2 ($numeric_prefix) of type string is deprecated` notice.

Changing the `null` to an empty string fixes this without BC-break.

Fixes a few deprecation warnings found when running the tests.

Refs:
* https://www.php.net/manual/en/function.http-build-query.php
* https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg

* PHP 8.1: fix deprecation notices / PharData::__construct()

This fixes all relevant calls to the PHP native `PharData::__construct()` method.

The second parameter of this method is the _optional_ `$flags` parameter which expects an `int` of flags to be passed to the `Phar` parent class `RecursiveDirectoryIterator`.
Fixed by passing the default value for the `$flags` parameter as per the `RecursiveDirectoryIterator::__construct()` method.

The third parameter of the method is the _optional_ `$alias` parameter which expects an `string`.
Fixed by passing an empty string.

Fixes various notices along the lines of:
```
Deprecation triggered by Composer\Test\Package\Archiver\ArchiveManagerTest::testArchiveTar:
PharData::__construct(): Passing null to parameter #2 ($flags) of type int is deprecated

Stack trace:
0 [internal function]: Symfony\Bridge\PhpUnit\DeprecationErrorHandler->handleError(8192, '...', '...', 55)
1 src/Composer/Package/Archiver/PharArchiver.php(55): PharData->__construct('...', NULL, NULL, 2)
2 src/Composer/Package/Archiver/ArchiveManager.php(193): Composer\Package\Archiver\PharArchiver->archive('...', '...', '...', Array, false)
3 tests/Composer/Test/Package/Archiver/ArchiveManagerTest.php(65): Composer\Package\Archiver\ArchiveManager->archive(Object(Composer\Package\CompletePackage), '...', '...')
...
```

Refs:
* https://www.php.net/manual/en/phardata.construct.php
* https://www.php.net/manual/en/recursivedirectoryiterator.construct.php

Co-authored-by: jrfnl <jrfnl@users.noreply.github.com>
3 years ago
Jordi Boggiano 2f83338d2f
Fix hopefully last php 8.1 deprecation warnings 3 years ago
Jordi Boggiano 24f5e54fbe
Fix only/exclude to avoid matching names as sub-strings of full package names, fixes #10001 3 years ago
Jordi Boggiano 10ae1d7b08
Fix some PHP 8.1 deprecation warnings, fixes #10008 3 years ago
Ondřej Mirtes 58ced29a2a
Simplify code 3 years ago
Jordi Boggiano 005c55185a
Fix support for writing into UNC paths, and comparing UNC paths correctly in InstalledVersions, fixes #9993 3 years ago
Jordi Boggiano 1b34495daa
Some phpstan level 4 fixes 3 years ago
Jordi Boggiano 4c9e75c6e5
Fix CS 3 years ago
Brad Jones dd625669e8
Introduce gitlab-protocol option to force the gitlab repos to use https or git protocol (#9401) 3 years ago
Jordi Boggiano 82cffa17d3
Undo addition of initializeInstalled and remove inline copy of the data from the class 3 years ago
Jordi Boggiano 3fe4f84a76
Fix handling of metapackages with null paths, and handling of paths which do not have a shortest-path and require an absolute path to be addressed 3 years ago
Jordi Boggiano 518b44a810
Clean up dump code to avoid reimplementing var export, and remove DIRECTORY_SEPARATOR 3 years ago
Jordi Boggiano 8335b49cf0
Rename dev-requirement to dev_requirement for consistency 3 years ago