1
0
Fork 0
Commit Graph

2838 Commits (b2910b17f2c1e24b81ee9b1f6f6a4fc2d6a9dedf)

Author SHA1 Message Date
Jordi Boggiano cbb7c91223
Fix ClassLoader to be serializable (#11237)
* Fix ClassLoader to be serializable

* Fix CI to use the source bin/composer as process for "composer" runs incl within simple-phpunit

* Store the closure statically to avoid serialization issues in a cleaner way
2022-12-22 15:17:04 +01:00
Jeffrey Cafferata da611e089a
Docs: fix documention deep links (#11233)
* Docs: Fixed the deep links to the documentation website.

Search scope: `src/Composer/Command`.

* Docs: Fixed the deep links to the documentation website.
2022-12-21 09:32:50 +01:00
Jordi Boggiano 3534499c6b
Add test covering edge case of composer repo format, closes #11206 2022-12-17 23:15:40 +01:00
Jordi Boggiano 957e7a9165
Merge pull request #11218 from localheinz/fix/patch
Fix preserving of major.minor.patch version when running `composer bump` and installed patch version is `0`, and add bumping of >=x to >=latest
2022-12-17 23:05:21 +01:00
Jordi Boggiano ef7ba73a6a
Add support for bumping >=x to >=latest, fixes #11179 2022-12-17 23:02:52 +01:00
Jordi Boggiano 7f9638f65a
Fix implementation to fix tests, fixes #11220 2022-12-17 22:50:19 +01:00
PrinsFrank 6d1b36be3b
Check missing-from-lock-file required packages when running install and fail when there are any (#11195) 2022-12-16 16:48:24 +01:00
Andreas Möller caebfe14ee
Fix: Add test case for not dropping patch version 2022-12-12 17:25:20 +01:00
Ion Bazan 8ff237afb6
[Tests] Use static data providers (#11197) 2022-11-24 14:39:08 +01:00
Jordi Boggiano bd6a5019b3
Update to composer/pcre 2.1 (#11189) 2022-11-17 11:34:54 +01:00
Jordi Boggiano 5b28754602
Avoid normalizing to absolute paths if base dir is /toplevel to improve docker portability, fixes #11165, fixes #4404 (#11169) 2022-11-10 16:32:18 +01:00
Jordi Boggiano 6c85b875f2
Update to PHPStan 1.9 2022-11-03 21:53:42 +01:00
Jordi Boggiano 36bc30ffab
Make the require command guess versions more accurately by delegating to the solver (except with --no-update) (#11160) 2022-11-01 15:48:52 +01:00
Jordi Boggiano 6e55cb36d8
Add support for adding Command classes as scripts, (#11151)
* Add support for adding Command classes as scripts, fixes #11134

* Allow all options to be forwarded and allow using references to other scripts with args

* Fix build

* Add more checks

* Ensure exceptions are not swallowed, and remove naming restriction by using a single-command app

* Update docs

* Add tests, fix issue merging params when combining nested scripts and CLI params
2022-10-28 14:24:55 +02:00
Jordi Boggiano a63ce7cf96
Add message when doing composer outdated --direct and there is nothing to show, fixes #11152 (#11156) 2022-10-27 16:21:53 +02:00
Alex Theobold 97f4fbc4b0
Adds test coverage to the Fund Command (#11150)
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-10-26 13:40:01 +02:00
Alex Theobold b5b4e15876
test: Create test for CheckPlatformReqsCommand (#10932) 2022-10-25 19:42:42 +02:00
Giulio 1b3a2ed6f6
test: Coverage for ValidateCommand (#11133)
Co-authored-by: giulio-Joshi <me@joshi.it>
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-10-25 16:38:01 +02:00
Stephan Jorek d54f2f21c5
Feature: Add support for autocompleting setting-keys in config-command (#11130)
* Add support for autocompleting setting-keys in config-command

This PR implements the support for autocompletion of setting-keys in the
config-command and its related funtional tests. The implementation takes
existing command-line options like `--unset` or `--global` into account, as
well as existing exposable package-properties. The result is a context-
sensitive auto-completion of individual lists of setting-keys.

Additionally showing the value `suggest.` sub-keys has been allowed in
the config-command, as setting and unsetting them has alwas been possible,
and I did not want to distinguish between showing, setting and unsetting
those keys.

In the setting-key flattening-method I used the `array_is_list()` function,
which was added in PHP 8.1 recently. For backwards PHP-compatiblity the
package `symfony/polyfill-php81` has been added.

Signed-off-by: Stephan Jorek <stephan.jorek@brandung.de>
2022-10-25 16:24:02 +02:00
Jordi Boggiano 8ffd8bef08
Merge branch '2.4' 2022-10-25 15:27:14 +02:00
Ayesh Karunaratne 90673e4f66
Update URL masking patterns for new GitHub fine-grained PATs
Updates GitHub Personal Access Token regex pattern to detect new [fine-grained PATs](https://github.blog/changelog/2022-10-18-introducing-fine-grained-personal-access-tokens/)
2022-10-25 15:07:24 +02:00
Kuba Werłos e5b8f2d838
Add "--dry-run" to bump command (#11047) 2022-10-25 15:03:36 +02:00
Jordi Boggiano ce082cd5b3
Merge branch '2.4' 2022-10-13 11:21:52 +02:00
Jordi Boggiano 205ba37825
Fix tests 2022-10-13 11:21:41 +02:00
Leo Viezens 13e673df76
#10796 Add test for ExecCommand (#11094) 2022-10-13 11:21:19 +02:00
Gaëtan Faugère 52f91b2dd9
Add test and documentation regarding audit command when no packages are required (#11092) 2022-10-13 10:53:26 +02:00
Jesper Skytte Marcussen b52e6b4a74
Add tests for BumpCommand (#11097)
I've added tests for the BumpCommand to increase the test coverage.

See #10796

Signed-off-by: Jesper Skytte <jesper@skytte.it>

Signed-off-by: Jesper Skytte <jesper@skytte.it>
2022-10-13 10:42:03 +02:00
Jesper Skytte Marcussen d1bf685ea8
Added lots of new tests for `InitCommand` (#11106)
This commit adds tests for all the different input options.
2022-10-13 10:39:51 +02:00
Jesper Skytte Marcussen c728569d33
Added new `LicensesCommandTest` class (#11105) 2022-10-12 17:25:28 +02:00
Mauro Bonfietti d8a0127c0c
Added tests for Clear Cache Command. (#11066)
* Added tests for Clear Cache Command.

* Fix side-effects breaking other tests

Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-10-12 17:19:58 +02:00
Jordi Boggiano 06359da3a3
Merge branch '2.4' 2022-10-12 16:55:56 +02:00
JT Smith 08c04d2c9c
Typofixes (#11096)
* Fixing typo in private method name

* Various comment-related typofixes
2022-10-12 16:45:10 +02:00
Jordi Boggiano 8618f004f7
Fix parsing of aliases used within complex OR constraints, fixes #11086 2022-10-12 16:16:31 +02:00
Abdullahi Temidayo Jimoh 05aecfbe8b
Test for About command (#11078) 2022-10-12 14:22:28 +02:00
Jordi Boggiano 822fd640d0
Add warning when outdated command rejects an existing version due to platform requirements, fixes #11016 (#11113) 2022-10-12 13:57:14 +02: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 7df744531b
Merge branch '2.4' 2022-10-12 11:27:30 +02:00
Kuba Werłos f8435b6d10
Unify command names in the docs (#11071) 2022-10-12 10:55:57 +02:00
Jordi Boggiano 8600894003 Update deps, constrain a few types to non-empty-strings 2022-10-12 09:19:36 +02:00
Kuba Werłos e870206c4a
Add "--dry-run" to bump command (#11047) 2022-09-19 08:45:49 +02:00
Jordi Boggiano ef018748eb
Merge branch '2.4' 2022-09-14 14:02:28 +02:00
Jordi Boggiano ec8bbe9056
Fix package filter on bump command, fixes #11053 2022-09-14 14:00:27 +02:00
Jordi Boggiano 02082905a3
Merge branch '2.4' 2022-09-13 15:17:04 +02:00
Jordi Boggiano ab29ed5f97
Fix handling of upper-bound platform req ignores to not act on conflicts (#11037)
* Fix handling of upper-bound platform req ignores to not act on conflicts, fixes #11020

* Optimization
2022-09-13 14:50:27 +02:00
Jordi Boggiano 4164b30236
Fix show --platform regression failing if no composer.json exists, fixes #11046 2022-09-13 14:49:25 +02:00
Jordi Boggiano c10854d3f3
Remove extra lines 2022-08-31 12:42:26 +02:00
Jordi Boggiano d0ac10ca6a
Merge branch '2.4' 2022-08-31 12:41:52 +02:00
Jordi Boggiano 5b754c797e
Remove extra lines 2022-08-31 12:26:58 +02:00
Jordi Boggiano 39de9899a7
Lock down include wrappers to avoid abuse from third parties (#11015) 2022-08-31 12:07:23 +02:00
Jordi Boggiano 3177b21324
Fix handling for double-zero prefix, refs #11032 2022-08-31 09:47:59 +02:00
Jordi Boggiano 2d48c7dbb0
Fix handling of zero-major versions in outdated --major-only flag, fixes #11032 2022-08-30 20:45:07 +02:00
Thomas Landauer ceb8bef778
Adding hint what "Direct dependencies" means (#11013) 2022-08-20 09:24:25 +02:00
Zan Baldwin d2d8474013
Do not apply non-array package links in ArrayLoader (#11008) 2022-08-20 08:58:17 +02:00
Zan Baldwin 51774693c7
Do not apply non-string package link constraints in ArrayLoader (#11009) 2022-08-20 08:34:38 +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 f95471f221
Show/outdated command fixes (#11000)
* Fix show command showing the split of direct/transitive deps from outdated, fixes #10999

* Fix a few minor edge cases in show command, add tests for show and outdated commands
2022-08-17 12:08:59 +02:00
Jordi Boggiano cc33db9257
Only fetch remote default branch for mirrored git repos, not local ones, refs #10949 (#10996) 2022-08-16 15:53:57 +02:00
Thomas Lüder 41d6467b3b
Added token refresh for GitLab to support GitLab 15+ (#10988)
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-08-16 13:34:18 +02:00
Jordi Boggiano f1877afc0b
Merge branch '2.3' 2022-08-16 11:27:40 +02:00
Jordi Boggiano 550fc3d321
Merge branch '2.2' into 2.3 2022-08-16 11:27:34 +02:00
Jordi Boggiano f2141dd3ea
Fix tests from #10985 2022-08-16 11:25:15 +02:00
Stephan 1f0bd51f55
GitHubDriver: stricter URL validation to avoid issues with undefined index owner (#10985) 2022-08-16 11:08:03 +02:00
Ion Bazan 74a045783b
Add SearchCommand tests (#10982)
Signed-off-by: Ion Bazan <ion.bazan@gmail.com>
2022-08-16 10:52:01 +02:00
Jordi Boggiano 135ca98eb0
Remove workaround for upstream bug 2022-08-16 10:46:07 +02:00
Jordi Boggiano a6d872191c
Disable packagist.org loading by default in initTempComposer test cases if other repos are provided 2022-08-16 10:41:58 +02:00
Jordi Boggiano 7377d1f003
Uniformize command description format, fixes #10971 2022-08-16 10:41:07 +02:00
Jordi Boggiano d0b60f115b
Merge pull request #10958 from Seldaek/signal_fixes
Signal handling improvements
2022-07-21 11:09:30 +02:00
Jordi Boggiano 8352ab8eb7
Expand test to avoid regressions 2022-07-21 11:08:41 +02:00
Jordi Boggiano 9fbc386a7b
Fix package selector warnings to only show for versions that were actually skipped, #10942 2022-07-21 11:06:13 +02:00
Jordi Boggiano 9d90bc649d
Fix tests 2022-07-20 22:53:57 +02:00
Jordi Boggiano 1a4f2174e4
Add seld/signal-handler dependency 2022-07-20 22:32:09 +02:00
Jordi Boggiano 3595666e6e
Merge branch '2.3' 2022-07-17 13:07:44 +02:00
Jordi Boggiano 3c68b579ed
Merge branch '2.2' into 2.3 2022-07-17 13:06:43 +02:00
Jordi Boggiano 70b78137a9
Merge branch '2.3' 2022-07-05 16:54:43 +02:00
Jordi Boggiano 9a6d63f0f4
Fix build regressions 2022-07-05 16:22:29 +02:00
Jordi Boggiano c422fefda4
Merge branch '2.3' 2022-07-01 12:24:58 +02:00
Jordi Boggiano 1703b74e73
Add missing return types 2022-07-01 12:24:54 +02:00
Jordi Boggiano 796d2bae08
Merge branch '2.3' 2022-07-01 12:15:30 +02:00
Jordi Boggiano 618fcb800b
Merge branch '2.2' into 2.3 2022-07-01 12:05:18 +02:00
Andreas Schempp 424547bb70
Correctly merge boolean flag of allow-plugin config (#10909) 2022-07-01 11:08:35 +02:00
Jordi Boggiano 1812862d5e
Update phpstan to latest, update baseline (1909, 103) 2022-06-30 17:07:18 +02:00
Jordi Boggiano efd426f8bb
Extract some common logic for filtering away dev requirements into a RepositoryUtils 2022-06-30 15:05:34 +02:00
Jordi Boggiano 8c9f82dc1e
Move security advisory loading to repositories, allows others to provider them and reduces load on packagist.org for summary advisory reports 2022-06-24 16:26:57 +02:00
Jordi Boggiano 4229c2c641
Merge branch '2.3' into main 2022-06-24 11:10:07 +02:00
Stephan 6776cef441
Fix: ValidatingArrayLoader [TypeError]: strcasecmp(): Argument #1() must be of type string, int given (#10897) 2022-06-24 10:30:33 +02:00
Jordi Boggiano eba49147e7
Add warning when the latest version of a package cannot be auto-selected in require/init/create-project, fixes #10884 (#10896) 2022-06-23 14:37:04 +02:00
Jordi Boggiano 611b215896
Fix PHPStan issues and a couple minor bugs in audit functionality, refs #10798 2022-06-22 15:39:51 +02:00
Guy Sartorelli d93239ddd9
Add audit command to check for security issues (#10798)
Closes #10329
2022-06-22 15:15:01 +02:00
Mathias Reker ⚡️ d17c724f23
Php unit dedicate assert (#10881)
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-06-22 14:20:08 +02:00
Jordi Boggiano d132b9e6fd
Fixup 2022-06-22 13:11:28 +02:00
Jordi Boggiano 3a945ac70f
Delete ClassMapGenerator tests which are not needed anymore 2022-06-19 14:08:02 +02:00
Jordi Boggiano 7d4d941392
Make use of new composer/class-map-generator package and build up BC layer 2022-06-19 14:02:24 +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
Jordi Boggiano ab1de96fcb
Do not verify rate limit OK as part of test as these might randomly fail 2022-06-06 17:01:31 +02:00
Jordi Boggiano 367012513d
Merge branch '2.3' into main 2022-06-06 16:49:52 +02:00
Jordi Boggiano cb76394800
Merge branch '2.2' into 2.3 2022-06-06 16:34:34 +02:00
Jordi Boggiano 3c11895c1e
Command tests 2022-06-06 10:48:42 +02:00
Jordi Boggiano 8792163676
Merge branch '2.3' into main 2022-06-06 10:23:04 +02:00
Anatoly Pashin a0b7896231
Fix processing null config value in DiagnoseCommand
Fixes #10814
2022-06-06 09:58:15 +02:00
Jordi Boggiano 15f7d24e7e
Parse openssl 3 versions cleaner 2022-06-02 21:17:44 +02:00
Jordi Boggiano 5888945c30
Fix tests on windows 2022-06-01 22:10:48 +02:00
Jordi Boggiano e2645a13b6
Merge branch '2.3' into main 2022-06-01 22:00:44 +02:00
Jordi Boggiano ef06702e45
Merge pull request #10320 from GromNaN/command-completion
Add completion to commands options and arguments
2022-06-01 21:59:39 +02:00
Jordi Boggiano e1ab520d64
Merge branch '2.2' into 2.3 2022-06-01 21:39:31 +02:00
Nicolas Hedger 70a7b592e9
Fix JSON schema regex pattern (#10811) 2022-06-01 21:23:07 +02:00
Jordi Boggiano 556450b15b
Allow using temporary update constraints on all packages (incl non-root), fixes #10436 (#10773) 2022-05-27 14:51:46 +02:00
Jordi Boggiano 202ef9031c
Merge branch '2.2' into 2.3 2022-05-25 21:44:40 +02:00
Jordi Boggiano 10d3895f18
Ensure that dotfiles can be excluded, fixes #8866 2022-05-24 22:14:17 +02:00
Jordi Boggiano 88e1f0f9b5
Make sure repos are always initialized with a repo manager if possible, and make sure async is always enabled on the process executor, fixes #10783 (#10799) 2022-05-24 21:32:36 +02:00
Jordi Boggiano d70b580899
Merge branch '2.2' into 2.3 2022-05-24 14:41:41 +02:00
Jordi Boggiano 44a52e4157
Fix backtracking in name validation regex 2022-05-24 14:32:18 +02:00
Jordi Boggiano 779f3ab923
Add a couple missing --format completions 2022-05-13 14:10:59 +02:00
Jordi Boggiano b52053893c
Fix type errors and tests 2022-05-13 10:48:27 +02:00
John Stevenson 2837585e47
Fix cmd splitting paths on commas (#10775) 2022-05-12 21:13:55 +02:00
Jérôme Tamarelle 68fd80b630
PHPStan annotations 2022-05-12 15:00:39 +02:00
Jérôme TAMARELLE fe6be142b1
Add completion on commands 2022-05-12 15:00:37 +02:00
Jordi Boggiano df9721d21b
Skip broken test on windows 2022-05-11 16:52:58 +02:00
Jordi Boggiano 6ac4de19d7
Fix ApplicationTest interacting with other tests 2022-05-11 16:44:43 +02:00
Jordi Boggiano fdab6657c7
Add command testing utilities to TestCase, add tests for ConfigCommand 2022-05-11 16:08:39 +02:00
Jordi Boggiano f1f013edde
Downgrade naming errors to warnings again in package links to avoid BC issues with tags on packagist 2022-04-29 15:02:24 +02:00
Jordi Boggiano 928e19e637
Merge branch '2.2' into main 2022-04-29 12:15:20 +02:00
Jordi Boggiano 06ef742a66
Update phpstan, fix InstalledVersions key ordering to be more logical/consistent 2022-04-29 10:30:04 +02:00
Stephan Vock d40c3a89c0
GitLab: add warning in case GitLab authentication is misconfigured 2022-04-28 21:37:45 +01:00
Stephan Vock 3b4a3d63bf
GitLab: prevent invalid loop during composer install with invalid credentials 2022-04-28 21:16:16 +01:00
Jordi Boggiano bd6403a6be
Fix newly surfaced errors 2022-04-28 21:20:40 +02:00
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