Jordi Boggiano
bac7b826f2
Revert "To be reverted: Disable pool optimizer by default, run solver twice and compare outputs if user opts into optimizer"
...
Enables pool optimizer by default
This reverts commit c06be086a6
.
2021-11-23 17:05:10 +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
Stephan
63b5cbe000
GitDownloader: add option for single use git clone to avoid --dissociate when cloning from local copy ( #10288 )
2021-11-17 19:53:10 +01:00
Jordi Boggiano
7fc9000834
Also retry for SSL connection failures, refs #10124
2021-11-17 11:02:43 +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
61b50cb7ec
Remove hack from ComposerRepository, fixes #9297
2021-11-13 13:25:25 +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
Nicolas Grekas
0662fa2662
Fix loading files for plugins/scripts ( #10279 )
2021-11-12 09:44:34 +01:00
Jordi Boggiano
410771af36
Merge pull request #10274 from func0der/add_sorting_to_archiving
...
Add name sorting to ArchivableFilesFinder.
2021-11-12 09:03:53 +01:00
Jordi Boggiano
c06be086a6
To be reverted: Disable pool optimizer by default, run solver twice and compare outputs if user opts into optimizer
2021-11-11 16:30:39 +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
Stephan
012556daee
VcsRepository: limit type of versionTransportExceptions ( #10275 )
2021-11-11 12:24:47 +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
68847ed609
Tweak bitbucket driver to uniformize regexes
2021-11-11 12:21:26 +01:00
Jordi Boggiano
ba1814f306
Added retry behavior for certain http status and curl error codes ( #10162 )
2021-11-10 22:12:42 +01:00
Jordi Boggiano
cda7863f20
Get rid of the abstract BitbucketDriver class, fixes #9856
2021-11-10 22:08:30 +01:00
Raphael de Almeida
150acc5559
Removed HgBitbucketDriver support ( #10248 )
2021-11-10 21:58:03 +01:00
Jordi Boggiano
ba5b7a5a9f
Add missing docblocks
2021-11-10 21:54:40 +01:00
Nicolas Grekas
8553c6d978
Add loading of files autoload section for plugins and Composer runtime autoloaders ( #10065 )
2021-11-10 21:37:33 +01:00
func0der
41a0c660b1
[add_sorting_to_archiving] Do not use natural sorting, cause of minimum required versions.
2021-11-10 15:39:50 +01:00
func0der
a48afcd790
[add_sorting_to_archiving] Add natural sorting to ArchivableFilesFinder.
2021-11-10 15:23:39 +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
Jordi Boggiano
85f3bb070d
Add abandoned flag in search command output
2021-11-09 16:04:21 +01:00
Jordi Boggiano
9e762a4f9a
Bump target to 2.2-dev
2021-11-09 16:04:08 +01:00
Jordi Boggiano
28c34128ee
Fix php proxies to resolve __FILE__ and __DIR__ using realpath on PHP <8, fixes #10261
2021-11-08 15:03:05 +01:00
Jordi Boggiano
3bb78fd1ee
Make new phar filename random to avoid possible concurrency issues, refs #10252
2021-11-08 11:45:07 +01:00
Jordi Boggiano
6a7264fc2d
Trigger autoloading of a few classes before executing self-update command, fixes #10252
2021-11-08 11:45:06 +01:00
Matthias Pigulla
4c9e567c39
Provide different URL options to encourage users to create low-privilege GitHub tokens ( #10256 )
2021-11-08 10:52:22 +01:00
Jordi Boggiano
9f433aba76
Fix 9999999-dev showing on composer show when no branch alias is defined for the default branch, fixes #10260
2021-11-08 10:43:25 +01:00
Martin Herndl
5b47fa1896
Add back abandoned key in repository search results ( #10259 )
2021-11-08 10:27:45 +01:00
Markus Staab
d7154c2a72
Fix GithubActionError on php 8.1 ( #10250 )
2021-11-02 14:39:04 +01:00
Markus Staab
6b62f98d3c
GithubActionError: escape more special chars ( #10243 )
2021-11-02 11:43:34 +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
Jordi Boggiano
3f243d37c3
Add temporary metadata for download size tracking
2021-10-29 22:19:38 +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
Samuel Felipe
3ccb54832b
PHPStan level 6 in src/Composer/Command ( #10214 )
2021-10-27 14:18:16 +02:00
Jordi Boggiano
df6c2ce1db
Simplify php bin proxies further
2021-10-27 11:24:50 +02:00
Jordi Boggiano
e1dbd65aff
Fix bin proxies to use output buffering instead of the eval hack, as the __FILE__ and __DIR__ replacement is not safe when done in strings/nowdocs/..
2021-10-27 11:16:34 +02:00
Joseph Wynn
44a2aa9be4
Log when COMPOSER_AUTH environment variable is malformed, but do not throw an error. Fixes #10208 . ( #10209 )
...
Co-authored-by: Joseph Wynn <joseph@wildlyinaccurate.com>
2021-10-27 09:40:20 +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
3645d3042c
Add types to root namespace ( #10213 )
2021-10-26 12:40:52 +02:00
Martin Herndl
f267b01852
Use single docblock for parameter types ( #10212 )
2021-10-25 21:42:03 +02:00
Martin Herndl
bd8b39fe01
Add types to `Package` ( #10210 )
2021-10-25 13:45:09 +02:00
Jordi Boggiano
0e96f363e1
Remove redundancy in package type
2021-10-25 13:13:01 +02:00
Martin Herndl
13d433fad0
Add types to `Package/Loader` ( #10206 )
2021-10-25 13:08:05 +02:00
Anatoly Pashin
b1a96a3141
PHPStan level 6 in src/Composer/Repository ( #10197 )
2021-10-25 12:58:31 +02:00
Martin Herndl
3fa7a6cb51
Add types to `Package/Version` ( #10199 )
2021-10-25 11:09:52 +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
Martin Herndl
fa4d4e20e9
Add types to `Downloader` ( #10193 )
2021-10-25 10:25:39 +02:00
pistej
b99e21259c
phpstan level 6 in src/Composer/Package/Comparer (refs #10159 ) ( #10196 )
2021-10-20 22:20:33 +02:00
Martin Herndl
db9e9a544e
Add types to `Package/Dumper` ( #10198 )
2021-10-20 22:19:53 +02:00
pistej
dbd0ccaad8
phpstan level 6 in src/Composer/Package/Archiver (refs #10159 ) ( #10195 )
2021-10-20 21:54:38 +02:00
Nils Adermann
cbc686c16a
Merge pull request #10185 from Seldaek/remove_unknown_rule_type
...
Remove unknown Rule type
2021-10-19 22:00:10 +02:00
Martin Herndl
995bf5a932
Add types to `Util` namespace, refs #10159 ( #10190 )
2021-10-19 14:35:37 +02:00
Stephan
261d93aacf
ComposerRepository: handle packages.json with null value for package ( #10189 )
2021-10-19 13:14:12 +02:00
Jordi Boggiano
37ce8969a4
Use real type hint instead of annotation
2021-10-19 13:11:04 +02:00
Martin Herndl
f0cc9aeb01
Remove scalar parameter type declaration ( #10186 )
...
`string` can only be used in parameters starting from PHP 7.0.
2021-10-19 13:10:21 +02:00
Paolo Rossi
3add01a40b
PHPStan level 6 in src/Composer/Config (refs #10159 ) ( #10182 )
2021-10-18 23:51:43 +02:00
Jordi Boggiano
87f25e6df6
Specify parseAutoloads more narrowly, refs #10179
2021-10-18 23:49:57 +02:00
immeëmosol
be25cf1d7a
Reaching phpstan level 6 in Composer/Autoload (refs #10159 ) ( #10179 )
...
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-10-18 23:40:22 +02:00
Jordi Boggiano
57e417b53a
Minor cleanup
2021-10-18 23:10:11 +02:00
Jordi Boggiano
75a8677e8a
Remove unknown Rule type
2021-10-18 23:05:31 +02:00
Paolo Rossi
6e04991489
Reaching phpstan level 6 in Composer/Console (refs #10159 ) ( #10183 )
2021-10-18 22:40:50 +02:00
Jordi Boggiano
7e1f4882af
Reorder some code
2021-10-18 22:37:40 +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
04ab74bbef
Avoid checking for hhvm in a loop, refs #10170
2021-10-18 10:51:16 +02:00
Jordi Boggiano
a6f1e803b1
Use more BasePackage instead of PackageInterface
2021-10-17 14:43:34 +02:00
Jordi Boggiano
b209816056
Type annotations
2021-10-17 14:31:48 +02:00
pistej
98f1465610
Phpstan level 6 in Composer/Plaform and Composer/Script ( #10159 ) ( #10170 )
2021-10-17 13:52:01 +02:00
Jordi Boggiano
f25398f52c
Fix
2021-10-17 10:49:57 +02:00
Jordi Boggiano
e137046558
Type annotations
2021-10-17 10:31:09 +02:00
Fabien Villepinte
9fde6ec88b
PHPStan level 6 in src/Composer/Json ( #10172 )
2021-10-16 22:42:32 +02:00
pistej
04c157bf32
Reaching phpstan level 6 in Composer/SelfUpdate ( #10169 )
2021-10-16 22:35:31 +02:00
Jordi Boggiano
7d88de7d0b
Fix syntax
2021-10-16 11:17:44 +02:00
Jordi Boggiano
9599eb613b
Type annotations
2021-10-16 11:14:10 +02:00
immeëmosol
6d5f6eb090
Reaching phpstan level 6 in Composer\IO ( #10166 )
2021-10-16 10:36:02 +02:00
Jordi Boggiano
c3c6969cf5
Type annotations
2021-10-16 10:25:12 +02:00
Jordi Boggiano
626370d444
Suggest COMPOSER_DISABLE_NETWORK if a possibly-offline state is detected ( #10163 )
...
Co-authored-by: Nils Adermann <naderman@naderman.de>
2021-10-16 09:47:04 +02:00
Jordi Boggiano
97fe881af4
Add some docblocks
2021-10-15 16:36:28 +02:00
Jordi Boggiano
915f3f4fb6
Make sure that if cleanup happens before install completes on zip updates, we do not report bogus errors, fixes #9804
2021-10-15 10:42:44 +02:00
Jordi Boggiano
0868245589
Rename master branch to main
2021-10-14 16:21:47 +02:00
Jordi Boggiano
4a7abd79c9
Fix 5.3 syntax 😒
2021-10-14 15:44:14 +02:00
Jordi Boggiano
759a3a9300
Fix require reverting changes even though dependency resolution succeeded if when something fails afterwards, closes #10118
2021-10-14 15:41:44 +02:00
Jordi Boggiano
f776f52474
Hint composer require alternatives if dep resolution fails, fixes #10136
2021-10-14 15:12:29 +02:00
Jordi Boggiano
260ac0011c
Add constants to describe error codes from Installer::run
2021-10-14 15:12:06 +02:00
Jordi Boggiano
79727d35c4
Avoid warning due to invalid cache dir during init, wait for first use, fixes #10125
2021-10-14 10:24:08 +02:00
Jordi Boggiano
f587237c55
Fix diagnose output when libz is not present for curl, refs #10153
2021-10-13 22:39:47 +02:00
Jordi Boggiano
2828ce59cf
Merge branch '1.10'
2021-10-13 22:12:54 +02:00
JDev4U
11810e3c2d
Fix help command not working with plugin commands, fixes #10147 ( #10150 )
...
- Add 'help' in the list of commands that need plugin command ($mayNeedPluginCommand)
- Remove `'global' !== $commandName` because $mayNeedPluginCommand encure that $commandName is one of `false`, `empty`, `list` or `help` (so never 'global')
Co-authored-by: Duret Joel <joel.duret@neo-soft.fr>
2021-10-13 22:03:31 +02:00
Jordi Boggiano
aa4de3b13d
Fix CurlDownloader requesting gzip encoding even though unsupported, fixes #10153
2021-10-13 20:24:28 +02:00
John Stevenson
906442117c
Carriage returns are ignored by cmd
2021-10-13 14:54:37 +01:00
Jordi Boggiano
d1c8a4d1b4
Lots of typing improvements
2021-10-12 22:47:23 +02:00
Jordi Boggiano
1e3f7cfcba
Fix handling of json error responses
2021-10-12 17:32:59 +02:00
John Stevenson
8f974fe741
Improve Windows escaping
2021-10-10 16:24:49 +01:00
Jordi Boggiano
cb1e248258
Fix type annotation
2021-10-05 09:47:20 +02: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
Jordi Boggiano
b3eebeb3b9
Merge pull request from GHSA-frqg-7g38-6gcf
2021-10-05 09:28:42 +02:00
Jordi Boggiano
532c6e7933
Fix show --all showing only the installed version if the package is installed, fixes #10095
2021-10-02 22:15:34 +02:00
Jordi Boggiano
a7963b7fed
Fix ComposerRepository handling of offline state to allow resolution as long as everything is present in the cache, fixes #10116
2021-10-02 21:22:25 +02:00
Stephan
edccad4e05
VcsRepository: do not continue when receiving 429 rate limit exception ( #10132 )
2021-10-02 20:40:49 +02:00
Sergii Dolgushev
90d112d98a
Mask Git credentials in the error message ( #10115 )
2021-10-02 20:30:21 +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
Vitaly Baev
7305d50277
Changed GitLab's applications URL ( #10104 )
2021-09-15 13:16:51 +02:00
Jordi Boggiano
d6a8b0252d
Fix phpdoc
2021-09-15 11:31:58 +02:00
Jordi Boggiano
8cd2d0e541
Fix scanning of classmaps in files containing invalid Unicode, fixes #10102
2021-09-15 11:31:43 +02:00
SvenRtbg
5c4e1cedb2
Add ability check for ZipArchive ( #10092 )
...
ZipArchive::setExternalAttributesName() is only available when libzip 0.11.2 or higher is present.
This is not the case with at least SUSE SLES 12, so a simple PHP version check will not work here.
2021-09-13 22:30:02 +02:00
Jordi Boggiano
8657f80ddd
Fix error output to be clearer when running composer.phar without phar extension, fixes #10097
2021-09-13 21:46:28 +02:00
Jordi Boggiano
6179f33c74
Fix docker being seen as WSL when run inside WSL, fixes #10094
2021-09-13 21:11:55 +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
6c9aecf4e7
Ignore all symfony deprecations
2021-09-03 21:39:06 +02:00
Alexander Schranz
99c6b450e6
Check for returned link header in GithubDriver
2021-09-02 19:17:17 +02:00
Jordi Boggiano
01d734125c
Add more type info
2021-08-30 17:45:35 +02:00
Jordi Boggiano
0761474599
Add type info to many properties/methods
2021-08-30 14:46:49 +02:00
Jordi Boggiano
fc04c86f82
Add type info to Autoload namespace
2021-08-30 13:58:31 +02:00
Jordi Boggiano
61fba697a0
Fix validating array loader handling of invalid target branch datatype
2021-08-30 13:43:33 +02:00
Jordi Boggiano
024f0eda53
Add a bunch of type info to Util namespace
2021-08-29 20:07:50 +02:00
Jordi Boggiano
8559279025
Merge pull request #10076 from aschempp/bugfix/package-type-update
...
Correctly resolve promises when package type changes
2021-08-29 14:16:01 +02:00
Jordi Boggiano
b8e461ea61
Make sure /proc/version read does not fail the process ever, closes #10080
2021-08-29 13:10:22 +02:00
Jordi Boggiano
0158436fb4
Fix list command not showing plugin commands, fixes #10075
2021-08-29 13:03:45 +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
Andreas Schempp
0bed60e631
Correctly resolve promises when package type changes
2021-08-25 22:35:34 +02:00
Jordi Boggiano
73c109c561
Make sure that names with wildcards which are not preceded by dots are also seen as package names and not version constraints
2021-08-25 21:09:49 +02:00
Jordi Boggiano
6ab1b6a7d2
Regex simplifications
2021-08-23 22:18:03 +02:00
Jordi Boggiano
f6c446bdd7
Tweak to allow matching delimiter within the string
2021-08-23 13:14:15 +02:00
Jordi Boggiano
c44be998ab
Undo new stripping code and fix regex
2021-08-23 13:14:02 +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
40bd4b03ad
ClassMapGenerator: stabilize the heredoc/nowdoc stripping
...
I've looked into 10067 and have come to the conclusion that using a single regex to strip the heredoc/nowdocs is always going to run into trouble as:
* Either the matching will be too greedy (issue 10067);
* Or the matching will run into backtrace limits for large heredoc/nowdocs.
We cannot solve both within a single regex.
So, I'm proposing a slightly different solution which should support both and should also improve performance for files containing large heredoc/nowdocs.
The `stripHereNowDocs()` function will find a start marker and remember the offset of the start marker.
It will then find the end marker and strip the contents between the two (replace with `null`).
The function will then recurse onto itself until all heredocs/nowdocs in a file have been removed.
2021-08-21 17:45:43 +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
b583310476
Allow ircs protocol for support.irc
2021-08-19 16:03:59 +02:00
Jordi Boggiano
74b231a4bc
Fix lib-openssl detection on FreeBSD, fixes #10046
2021-08-19 15:00:08 +02:00
Jordi Boggiano
9727adf63b
Fix init performance when plugin commands are not needed, fixes #10064
2021-08-19 14:37:50 +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
c5a02a2b58
Fix return value of ProcessExecutor::getErrorOutput, closes #10054
2021-08-18 14:55:38 +02:00
Jordi Boggiano
052065028f
Merge pull request #10051 from jrfnl/feature/php-8.1-null-to-non-nullable-fix-1
...
PHP 8.1: prevent a "null to non-nullable" deprecation notice [1]
2021-08-18 14:36:14 +02:00
Jordi Boggiano
3dcc6c1514
Make return value explicit
2021-08-18 14:32:06 +02:00
Jordi Boggiano
cfe718fa43
Fix usage of getRequiredPackage, closes #10052
2021-08-18 14:30:09 +02:00