Stephan
1f6f4a786e
BitbucketDriver: remove unnecessary HTTP call to fetch the root identifier ( #10729 )
2022-04-14 10:53:26 +02:00
Jordi Boggiano
b0b364af19
E_TOO_MANY_BRANCHES
2022-04-13 17:24:39 +02:00
Jordi Boggiano
d7ad2093f6
Merge branch '2.2' into main
2022-04-13 17:10:07 +02:00
Jordi Boggiano
9a62ef7ff2
Add missing return type
2022-04-13 17:07:33 +02:00
Jordi Boggiano
a1f9baa118
Fix 5.3/5.4 builds
2022-04-13 16:42:12 +02:00
Jordi Boggiano
615530f0a1
Merge branch '2.2' into main, update baseline (2085, 104)
2022-04-13 16:18:25 +02:00
Stephan
2c40c53637
Merge pull request from GHSA-x7cr-6qr6-2hh6
...
* GitDriver: filter branch names starting with a - character
* GitDriver: getFileContent prevent identifiers starting with a -
* HgDriver: prevent invalid identifiers and prevent file from running commands
* HgDriver: filter branches starting with a - character
2022-04-13 15:54:58 +02:00
Stephan
a5e35f911b
GitDriver: fix test for remote identifier on windows ( #10727 )
2022-04-13 14:08:24 +02:00
Stephan
6c3958ec86
Add warning if host is accessed via verify_peer or verify_peer_name disabled ( #10722 )
2022-04-13 12:21:08 +02:00
Stephan
866d2a49b2
GitDriver: try to fetch default branch form remote using auth ( #10701 )
2022-04-13 12:11:25 +02:00
Michael Babker
58e135181d
Restore the ability to list the scripts in the 'run-script' command without providing a script ( #10710 )
2022-04-07 13:17:28 +02:00
Jordi Boggiano
e0cce2bfb0
Allow autoload to run on 5.6 still, add early exits when running composer or autoload.php with outdated PHP versions, fixes #10714 , refs #10709
2022-04-06 22:07:16 +02:00
Jordi Boggiano
b03e9e414e
Merge branch '2.2' into main
2022-04-02 13:04:37 +02:00
Jordi Boggiano
1cc23e1a8b
🤦♂️
2022-04-02 13:04:03 +02:00
Jordi Boggiano
6b330b7456
Fix tests
2022-04-02 12:58:29 +02:00
Jordi Boggiano
34fa266114
Fix windows build
2022-04-02 12:48:02 +02:00
Jordi Boggiano
0985501602
Fix windows build
2022-04-02 12:38:23 +02:00
Jordi Boggiano
dce63fdf4f
Merge branch '2.2' into main
2022-04-01 22:10:24 +02:00
Jordi Boggiano
ecec0d00fc
Fix generation of autoload rules in a dir that is missing to ensure it does not break ( #10688 )
2022-04-01 21:20:21 +02:00
Stephan
ef12e42bdb
GitDriver: try to fetch default branch from remote ( #10687 )
...
The initial clone determined what the default branch of the cache git repository was. Changing it on the remote didn't have any impact on the local data. However, cloning it on a different machine would then store a different default branch on that machine. This could lead to different results for the same command on different machines.
2022-04-01 17:13:22 +02:00
Jordi Boggiano
9a42f69a99
Make test more resilient on slow windows CI
2022-04-01 11:27:13 +02:00
Jordi Boggiano
8e93566c18
Validate config schema before loading it, fixes #10685
2022-04-01 11:23:59 +02:00
Stephan
147c6a2f7e
Bitbucket: when OAuth consumer authentication fails mention that the `This is a private consumer` needs to be enabled ( #10678 )
2022-03-31 13:29:19 +02:00
Jordi Boggiano
146e036b58
Fix parsing of openssl versions with odd suffixes, refs #10631
2022-03-30 18:09:40 +02:00
Markus Staab
ccfbc16ac6
fix phpdoc type ( #10669 )
2022-03-30 11:58:30 +02:00
Jordi Boggiano
cfb34416ec
Merge branch '2.2' into main
2022-03-29 22:00:45 +02:00
Jordi Boggiano
7eb8f92a93
Fix test
2022-03-29 21:37:41 +02:00
Jordi Boggiano
60616f9bd1
Fix tests
2022-03-29 21:27:43 +02:00
Jordi Boggiano
039701656f
Merge branch '2.2' into main
2022-03-29 18:58:23 +02:00
Jordi Boggiano
2dbe66ad20
Fix deletion of corrupt 0-bytes zip archives from the cache, fixes #10580 ( #10666 )
2022-03-29 18:57:30 +02:00
Jordi Boggiano
6bd75d5738
Update phpstan & baseline (2158, 104)
2022-03-29 14:03:05 +02:00
Stephan
854aab5f03
ArrayLoader: handle links where target is invalid numeric package name ( #10663 )
2022-03-29 12:46:51 +02:00
Stephan
9f8ee0e40a
ArrayLoader: fix integer index of branch alias ( #10660 )
2022-03-29 12:37:07 +02:00
Stephan
1daafb817d
ValidatingArrayLoader: only validate source/dist properties if they are set ( #10658 )
2022-03-26 14:40:20 +01:00
Stephan
61be158040
ArrayLoader: assert that source/dist reference are string values ( #10647 )
2022-03-22 09:48:51 +01:00
Jordi Boggiano
e63e15aea8
Fix usage of react/promise resolve() to prepare for v3
2022-03-18 09:20:42 +01: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
aad2f86edf
Merge branch '2.2' into main
2022-03-15 22:20:21 +01:00
Jordi Boggiano
6b97524b25
Load plugins which modify install path early, fixes #10618 ( #10621 )
2022-03-15 22:11:19 +01:00
Jordi Boggiano
5122bd42fb
Merge branch '2.2' into main
2022-03-15 13:11:59 +01:00
Jordi Boggiano
dbcdb4a903
Add test for circular depths of equal weight
2022-03-15 12:02:03 +01:00
Jordi Boggiano
f31700bf19
Sort packages with the same weight alphabetically to have a completely stable sort not dependent on input order, fixes #10614
2022-03-15 11:35:33 +01:00
Yanick Witschi
ced24da7b0
Fix PoolOptimizer should consider disjunctive MultiConstraints ( #10579 )
2022-03-12 14:16:38 +01:00
Jordi Boggiano
b3f99faff7
Fix tests
2022-03-09 21:39:18 +01:00
Jordi Boggiano
beb575dd00
Fix more issues, update baseline (2203/106)
2022-02-24 13:24:35 +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
0db443ba5f
Add visibility to all consts, fixes #10550
2022-02-23 14:28:04 +01:00
Jordi Boggiano
89ce53250e
Final type additions
2022-02-23 12:54:07 +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
Jordi Boggiano
fb854df124
Update phpstan config
2022-02-21 13:49:26 +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
eda9014bef
Add return types to all code which is not being extended by open source packages
2022-02-18 14:32:38 +01:00
Jordi Boggiano
137ebddc25
Clean up useless mocks
2022-02-18 13:05:12 +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
32852304d0
Make use of some new PHP features
2022-02-18 10:20:20 +01:00
Jordi Boggiano
86fb8d4412
Fix CS
2022-02-18 08:50:11 +01:00
Jordi Boggiano
63b5f2737b
Merge branch '2.2' into main
2022-02-16 13:44:40 +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
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
jrfnl
e729c418dd
ClassMapGenerator: add test for "marker in text" bug
...
In PHP < 7.3, the heredoc/nowdoc marker was allowed to occur in the text, as long as it did not occur at the very start of the line.
This was also not handled correctly.
Ref: https://www.php.net/manual/en/migration73.incompatible.php#migration73.incompatible.core.heredoc-nowdoc
2021-08-11 22:23:24 +02:00
jrfnl
9588654ae3
ClassMapGenerator: add tests for "long heredoc" bug
...
... to proof the existence of the bug and demonstrate the effect.
Note: in the test the backtrack limit is being lowered (and restored back to the default afterwards) to prevent the tests needing ridiculously huge test fixture files.
2021-08-11 22:21:57 +02:00
Stephan
c65bd832d6
Url: fix sanitize for new github tokens ( #10048 )
2021-08-11 13:24:41 +02:00
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>
2021-08-11 13:05:45 +02:00
Jordi Boggiano
df99150db6
Pin versions to avoid new dependencies breaking tests
2021-08-04 16:39:19 +02:00
Jordi Boggiano
24f5e54fbe
Fix only/exclude to avoid matching names as sub-strings of full package names, fixes #10001
2021-07-22 13:47:31 +02:00
Jordi Boggiano
10ae1d7b08
Fix some PHP 8.1 deprecation warnings, fixes #10008
2021-07-21 15:13:24 +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
cc81f5bac3
Fix support for UNC paths in normalizePath, refs #9993
2021-07-12 13:36:57 +02:00
Jordi Boggiano
a02802b109
Warn 1.x users when a package is not found that it may be due to our deprecation policy
2021-06-08 21:12:49 +02:00
adlacruzes
7366b8e362
Fix JsonFile when using custom json schema with no "name" and "description" properties
2021-06-03 20:15:35 +02:00
Jordi Boggiano
1b34495daa
Some phpstan level 4 fixes
2021-06-03 11:29:00 +02:00
Jordi Boggiano
4c9e75c6e5
Fix CS
2021-06-03 10:38:38 +02:00
Jordi Boggiano
91dd175f74
Fix env var handling when variables_order includes E and symfony/console 3.3.15+ is used, fixes #9930
2021-06-03 10:17:54 +02:00
Jordi Boggiano
8bf0ddf905
Clean up ZipDownloader, always do async first if possible then fallback to non-async
2021-06-02 15:13:19 +02:00
Nils Adermann
1ca6397442
Merge pull request #9765 from Seldaek/always_sync_symlinked_path_pkgs
...
Always mark symlinked path packages for update even during partial updates to make sure they always reflect the current state on disk
2021-06-02 11:50:15 +02:00
Jordi Boggiano
1f37d1c1d5
Add better error reporting for cases where a package conflicts with a replace and not directly a package, fixes #9834
2021-06-02 10:08:13 +02:00
Brad Jones
dd625669e8
Introduce gitlab-protocol option to force the gitlab repos to use https or git protocol ( #9401 )
2021-05-27 23:05:53 +02:00
Jordi Boggiano
0dce0f80f1
Also hint for errors when the root package does not match the constraint
2021-05-25 23:05:44 +02:00
Nils Adermann
21c70c2606
Merge pull request #9902 from Seldaek/cyclic-deps
...
Detect and output a better hint for cyclic dependencies
2021-05-25 22:58:50 +02:00
Jordi Boggiano
cbef7b9172
Detect and output a better hint for dependencies on the root package, fixes #9837
2021-05-25 22:47:53 +02:00
Jordi Boggiano
084fff2014
Merge remote-tracking branch 'guilliamxavier/lax-schema'
2021-05-24 22:27:48 +02:00
Jordi Boggiano
44e6591573
Improve error reporting for exts overridden by platform config, fixes #9876
2021-05-24 16:57:33 +02:00
Guilliam Xavier
393c9a5946
Add more tests
2021-05-24 14:42:23 +02:00
Guilliam Xavier
2d21dd675a
Invert strict/lax schema validation
2021-05-24 11:51:04 +02:00
Guilliam Xavier
9e2cb30dfb
Revert "Merge remote-tracking branch 'BoShurik/schema'"
...
This reverts commit 89c3045e2b
, reversing
changes made to 991985792d
.
2021-05-24 11:46:08 +02:00
Jordi Boggiano
da3d5e3143
Merge pull request #9699 from ochorocho/improve-installed-versions-9648
...
Add install-path and type to installedVersions.php and installed.php,…
2021-05-24 10:29:40 +02:00
Jordi Boggiano
f0e178c318
Merge branch '2.0'
2021-05-21 16:49:42 +02:00
Jordi Boggiano
17f6363ea9
Fix tests
2021-05-21 16:49:17 +02:00
John Stevenson
ce19bcd992
Upgrade to xdebug-handler 2 ( #9832 )
...
This adds support for Xdebug3 modes and changes the default behaviour
from always restarting if Xdebug is loaded, to only restarting if Xdebug
is active.
Xdebug is considered active if it is loaded, and for Xdebug3, if it is
running in a mode other than `xdebug.mode=off`.
2021-05-21 16:47:29 +02:00
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
2021-05-21 14:33:10 +02:00
Jordi Boggiano
518b44a810
Clean up dump code to avoid reimplementing var export, and remove DIRECTORY_SEPARATOR
2021-05-21 14:33:10 +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
89c3045e2b
Merge remote-tracking branch 'BoShurik/schema'
2021-05-20 15:42:39 +02:00
Jordi Boggiano
ac49e61931
Add more tests
...
Co-authored-by: Guilliam Xavier <guilliamxavier@users.noreply.github.com>
2021-05-20 15:41:56 +02:00
Jordi Boggiano
991985792d
Merge branch '2.0'
2021-05-20 14:16:52 +02:00
Guilliam Xavier
8d8842eb8c
Fix schema minimum-stability pattern
2021-05-20 14:15:39 +02:00
Nils Adermann
05caeb008f
Merge pull request #9887 from Seldaek/require-exts-simpler
...
Use a simpler suggested require version of * to keep things simple for extensions which are versioned like PHP
2021-05-17 14:47:29 +02:00
Jordi Boggiano
459a7d9623
Use a simpler suggested require version of * to keep things simple for extensions which are versioned like PHP, fixes #9483
2021-05-17 14:36:46 +02:00