6382 Commits (45f228a375703c34a3a086573ee57ec4d49d6a67)

Author SHA1 Message Date
Jordi Boggiano 3a64acb53e
Make sure versions are ordered also in the satisfied by package lists 4 years ago
Jordi Boggiano 56a11b9c2c
Deduplicate require/conflict rules which are the same but for different versions of the same package, fixes #8851 4 years ago
Jordi Boggiano 56811b4c8f
Exclude platform require/provides from InstalledVersions as concrete ones are also not listed 4 years ago
Jordi Boggiano 557fb873ee
Add a way to retrieve the Loop instance from Composer to be able to wait on promises to integrate things 4 years ago
Jordi Boggiano 3c593b0d12
Remove duplicate use statement 4 years ago
Jordi Boggiano 74a63b4d6b
Merge branch '1.10' 4 years ago
Jordi Boggiano 81bf47ffa2
Use fully qualified calls in hot classes 4 years ago
Alessandro Lai ff05150c4e Add composer-runtime-api version constant 4 years ago
Basil Peace 6140897d08 feat: add archive.name config option 4 years ago
Alessandro Lai 270c7c3262
Backport validation support for composer-runtime-api (#8842)
Fixes #8841
4 years ago
Nils Adermann 56edd53046 Remove unnecessary implementation of interface method in abstract class 4 years ago
Jordi Boggiano a63913c245
Merge pull request #8836 from kbacia7/master
close #8784, Added --locked option to composer show command. Displaying locked packages with --all option
4 years ago
Kamil Bacia 0779308076
close #8784, Added --locked option to composer show command. Displaying locked packages with --all option 4 years ago
Nils Adermann 994a5b41c2
Provide default impl for abstract method in interface for PHP < 5.3.9 (#8837) 4 years ago
Jordi Boggiano d173af2d7a
Fix check-platform-reqs command to take into account provide/replace from the root package 4 years ago
Jordi Boggiano 6a6ea6057f
Handle provider/replacer packages and avoid checking extensions which are provided by packages, refs #8546 4 years ago
Jordi Boggiano d494df61ff
Make sure platform-check returns a non-0 exit code if it fails 4 years ago
Jordi Boggiano 755a73baa9
Only check for pcntl on cli SAPI, fixes #8828 4 years ago
PirxDanford 3a7ea25289
Introduce --no-install option for the update, require and remove commands
Closes #8669, fixes #8551

Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
4 years ago
effulgentsia 46efcefefa
Added --json and --merge options to ConfigCommand (#8779) 4 years ago
Jordi Boggiano 1d4185b844
Recommend ocramius/package-versions fork if needed to solve dependencies 4 years ago
Jordi Boggiano 34801239f1
Tweak problem wording slightly 4 years ago
Jordi Boggiano cdc6a87e8d
Fix docblock 4 years ago
Jordi Boggiano 9b8694bc0b
Show suggestions from root package in suggest, and lists them in count only on first install of a project, fixes #8805 4 years ago
Jordi Boggiano 6529fabb24
Add isFresh to InstalledRepositoryInterface and make sure local repo is always an InstalledRepositoryInterface 4 years ago
Jordi Boggiano fa14cd1353
Show number of additional suggestions when not using --all, fixes #8788 4 years ago
Jordi Boggiano d6a9d78309
Merge pull request #8810 from heddn/8809_expand_context_post_file_download
#8809: expand context for post file download event
4 years ago
Jordi Boggiano 7049bbb714
Switch require_once to require for autoload_static as the once variant seems unnecessary 4 years ago
Jordi Boggiano c2f77d80bd
Remove usage of 5.6+ constant 4 years ago
Jordi Boggiano 1000d49145
Fix error reporting when the root version changed since the last update, and does not match circular deps in lock file anymore 4 years ago
Jordi Boggiano 0ab48a1773
Add composer-runtime-api platform package 4 years ago
Jordi Boggiano 0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions 4 years ago
Jordi Boggiano 4ba958f08e
Merge pull request #8816 from staabm/patch-2
fixed typo in phpdocs
4 years ago
Pierre Grimaud a42c6ceff3 Fix typos 4 years ago
Jordi Boggiano 2c8a4a1b93
Add platform-check config option to disable platform_check.php generation, and disable it for Composer 4 years ago
Markus Staab 3c09e4021e
fixed typo 4 years ago
Jordi Boggiano af18c2bd7d
Update semver, fix poolbuilder usage and optimize creation of filtering nameConstraints 4 years ago
Jordi Boggiano c9846d4d3c
Merge pull request #8812 from nicolas-grekas/ext-check
Optimize extension checks
4 years ago
Nils Adermann 75f4116417
Merge pull request #8811 from Seldaek/fix-transaction-order
Fix transaction order
4 years ago
Jordi Boggiano c41bb909ff
Add platform check file in phars, fixes #8813 4 years ago
Nicolas Grekas 6463ab9e49 Optimize extension checks 4 years ago
Yanick Witschi e23710f92d
Implemented php version check in autoload.php (#8546) 4 years ago
Lucas D Hedding 2bf2e9fc60 fix failing tests 4 years ago
Jordi Boggiano ba9d4793bc
Fix transaction order 4 years ago
Lucas D Hedding 3e2163de5c #8809: expand context for post file download event 4 years ago
Jordi Boggiano 3f338ee8d9
Make sure versions are sorted before they get trimmed in error output 4 years ago
Jordi Boggiano 424c08d6b2
Fix bug loading ~dev in some circumstances 4 years ago
Jordi Boggiano b3f46979b0
Merge pull request #8802 from kubawerlos/command-validate-no-check-version
Add "no-check-version" option to ValidateCommand
4 years ago
Jordi Boggiano c12a1a6d64
Update flag description 4 years ago
Kuba Werłos a54bf0e2d4 Use flags instead of boolean in ConfigValidator for checking version field 4 years ago
Kuba Werłos 4ec73874cb Add "no-check-version" option to ValidateCommand 4 years ago
Jérôme Tamarelle bd34ff1328
Remove unused property $httpDownloader 4 years ago
Jordi Boggiano 80a7c40c76
Shorten long lists of similar versions in problem output, fixes #8743 4 years ago
Jordi Boggiano 5b54a93751
Fix phpstan build 4 years ago
Jordi Boggiano 44a4429978
Remove PEAR installer/downloader/repos/..., fixes #8778 4 years ago
Nils Adermann 5e9bf532c1
Merge pull request #8786 from Seldaek/unused-flag
Add --unused flag to remove command
4 years ago
Lucas Hedding 1883832ddc
Provides a post download event (#8655) 4 years ago
Jordi Boggiano 11765ddfea
Add --unused flag to remove command, fixes #8283 4 years ago
Jordi Boggiano 6bed9d8f13
Implement count and search correctly in FilterRepository 4 years ago
Jordi Boggiano a0c5d519e9
Restore --no-suggest but mark it deprecated, remove --no-custom-installers and mark --dev also deprecated with stronger wording 4 years ago
Markus Staab 3819b02fea
added phpstan types to `CompletePackageInterface` (#8782) 4 years ago
Alexandre D'Eschambeault e0e2bb11a5
Fix typo: directory instead of directoy 4 years ago
Jordi Boggiano be1ddcf293
Fix handling of svn trunk in version guesser, fixes #8765 4 years ago
Jordi Boggiano 876136022b
Merge remote-tracking branch 'origin/1.10' 4 years ago
Jordi Boggiano 19902ba6a9
Merge pull request #8772 from villfa/fix/8771
Dispatch POST_STATUS_CMD even when there is no changes
4 years ago
Jordi Boggiano 2e7ace238a
Merge pull request #8767 from cebe/package-name-double-dash
Allow duplicate dashes in package names (1.10)
4 years ago
Jordi Boggiano 7d3f45cf04
Avoid errors in cleanup, fixes #8766, fixes #8764 4 years ago
Jordi Boggiano 62fda2ed85
Reorg ComposerRepository to fix tests 4 years ago
Jordi Boggiano 048781c268
Fix whatProvides function declaration 4 years ago
Jordi Boggiano 3dd6dbe14a
Merge pull request #8774 from Ayesh/https
Update HTTP URLs to their HTTPS if they already redirect automatically
4 years ago
Jordi Boggiano 4ea6b1ef55
Make all params non-optional 4 years ago
Ayesh Karunaratne fdb35a6a06
Fix \Composer\Installer\PackageEvent::__construct() and \Composer\Repository\ComposerRepository::isVersionAcceptable() required arguments used after optional, which is deprecated in PHP 8.0
1. `Deprecated: Required parameter $name follows optional parameter $constraint in src\Composer\Repository\ComposerRepository.php on line 745`

2. `Deprecated: Required parameter $operation follows optional parameter $operations in src\Composer\Installer\PackageEvent.php on line 73`

Optional parameters with a type declared, and a default value of `null` is excepted from this deprecation. See https://php.watch/versions/8.0/deprecate-required-param-after-optional. This is the case in `ComposerRepository::isVersionAcceptable`, which still has two optional parameters as first two parameters, but this will not raise a deprecation notice.
4 years ago
Ayesh Karunaratne 280f02b4bc
Update HTTP URLs to their HTTPS if they already redirect automatically 4 years ago
Fabien Villepinte c718579623 Dispatch POST_STATUS_CMD even when there is no changes 4 years ago
Carsten Brandt 960fa4b205
Allow duplicate dashes in package names
fixes #8749
1.10 implementation of #8750
4 years ago
Jordi Boggiano 40a35abb94
Resolve options when creating requests to fix 5.3 build 4 years ago
Jordi Boggiano 4cb74d33e6
Forward default HttpDownloader options to RemoteFilesystem/CurlDownloader, fixes #8757 4 years ago
Jordi Boggiano 86cfbdc541
Merge branch '1.10' 4 years ago
Jordi Boggiano 2f7e901940
Fix #8748 in an alternative way to avoid messing with PATH for other binaries, fixes #8758 4 years ago
Jordi Boggiano b3dbd95332
Fix PHP <5.6 syntax, fixes #8759, closes #8760 4 years ago
Jordi Boggiano a7ad186c89
Return early in case a call to the wrapped repo is unnecessary 4 years ago
Jordi Boggiano 096b507050
Merge branch '1.10' 4 years ago
Jordi Boggiano e121de35a3
Fix variable used for symlinking absolute paths, refs #8700 4 years ago
Jordi Boggiano f70b3b0152
Avoid warning about --2 usage when no channel is requested 4 years ago
Jordi Boggiano 8e664a37f5
Merge branch '1.10' 4 years ago
Jordi Boggiano b79f2b5e0f
Make sure scripts calling composer call the correct composer binary even if the project requires composer/composer, fixes #8748 4 years ago
Jordi Boggiano ccc8829ed9
Allow forcing self-update to stick to 1.x or 2.x using --1 and --2 flags, fixes #8753 4 years ago
Jordi Boggiano 28d26bd3a4
Merge pull request #8755 from Seldaek/repo-filtering
Add options to configure repository priorities
4 years ago
Markus Staab 6f6974df70
added phpdocs (#8754) 4 years ago
Jordi Boggiano b6bad4eef6
Add options to configure repository priorities 4 years ago
Jordi Boggiano 59c831c2f8
Add docs to loadPackages 4 years ago
Jordi Boggiano e34a2a9f45
Remove unused used vars 4 years ago
Jordi Boggiano 8b0da77a1d
Make sure cleanup is called for every package in case any operation fails to execute 4 years ago
Jordi Boggiano 55f122008b
Make sure we avoid cleanup running more than once per package on VcsDownloader 4 years ago
Matthias Van Woensel 067101dbf5
Only send GitHub API token to api.github.com domain (#8747) 4 years ago
Jordi Boggiano 0aaa815268
Merge branch '1.10' 4 years ago
Bingqing Wang 46db638678
fix typo 4 years ago
Bingqing Wang 63eb178297
compatible with symfony/console 5.0.0 getVerticalBorderChars() method 4 years ago
Jordi Boggiano aa6be02c64
Allow COMPOSER_DISABLE_NETWORK to work with GitHubDriver by doing a cache priming pass first 4 years ago
Jordi Boggiano 9575c7623f
Update changelog, add upgrade guide 4 years ago
Jordi Boggiano ee09b75be3
Clean ups 4 years ago
Jordi Boggiano 8930f1b824
Add color to lock operations and dry run output 4 years ago
Jordi Boggiano 2e64e8dc2e
Avoid generating duplicate aliases in lock file if several aliased packages are installed 4 years ago
Jordi Boggiano 64f907f93f
Fix handling of aliases to use consistent format everywhere 4 years ago
Jordi Boggiano a695f686c3
Add some docblocks and make sure RepositorySet/PoolBuilder accept regular rootAliases and not pre-normalized ones 4 years ago
Markus Staab 593d5abf27
use more precise phpstan/psam return-types (#8744) 4 years ago
Jordi Boggiano 736af4cb58
Add with-all-dependencies and update-with-all-dependencies args to remove command 4 years ago
Jordi Boggiano 52d1b52eb6
Merge branch '1.10' 4 years ago
Jordi Boggiano 11999118a5
Avoid failing on malformed funding info, fixes #8731 4 years ago
Jordi Boggiano a8eec36931
Merge branch '1.10' 4 years ago
Jordi Boggiano 96c1ba279a
Add infos about plugin install failure 4 years ago
Markus Staab c30925e68d
extracted `VersionParser::DEV_MASTER_ALIAS` (#8742) 4 years ago
Jordi Boggiano b166ef4b58
Fix more phpstan errors 4 years ago
Jordi Boggiano bbc4854452
Merge pull request #8740 from renanbr/patch-1
Remove duplicated `dry-run` option
4 years ago
Jordi Boggiano 80505e745e
Fix phpstan issues 4 years ago
Adam Žurek 25cd2382cb
Raise phpstan level to 1 (#8027) 4 years ago
Nils Adermann cb68fc3134
Merge pull request #8690 from Seldaek/solver-problems
Error reporting improvements
4 years ago
Jordi Boggiano d34ea60c48
canonicalize providers api url 4 years ago
Jordi Boggiano 3e19e3b0f1
Show alias of version in package lists in problems 4 years ago
Jordi Boggiano 7cca451312
Fix more issues with dev-master normalization in aliases 4 years ago
Jordi Boggiano e09dd9c10d
Detect packages which are only available in lock file and warn appropriately 4 years ago
Jordi Boggiano 8945936dbd
Deduplicate solver problems which list problems for dev-master AND 9999999-dev 4 years ago
Renan c4a3e912a1
Remove duplicated `dry-run` option 4 years ago
Nils Adermann 415b36a1a1 Remove match types from Pool as these are no longer used 4 years ago
Nils Adermann 80a5fdf398 Remove obsolete rules and their generation
The only automatic conflict we have results from packages using the same name
either by literally having the same name and being different versions or they
replace the same name, so

- removed all types of obsolete rules
- simplified rule generation significantly
- got rid of provide filtering in the pool
- fixed some language in error handling
4 years ago
Nils Adermann 4e3d989978 A package providing a name should not conflict with a package replacing it
Simplified whatProvides, mustMatchName is unused, removed unused
function from policy
4 years ago
Jordi Boggiano 2b86df4003
Add a hint about being on v2 when things go wrong 4 years ago
Jordi Boggiano 87757de6bc
Merge branch '2.0' 4 years ago
Jordi Boggiano 1c73f078f7
Remove repository field from getProviders result 4 years ago
Nils Adermann 4fab2c7759 Error wording use "thus cannot" instead of "can thus not" 4 years ago
Jordi Boggiano 51c48b1519
Merge pull request #8729 from naderman/t/partial-update-always-update-replace
Give a clearer error message explaining how to update a conflicting locked dependency
4 years ago
Nils Adermann 9858718ef6 Give a clearer error message explaining how to update a conflicting locked dependency 4 years ago
Jordi Boggiano 4e7ff690c6
Revert lock file as well when a require command operation failed to complete 4 years ago
Nils Adermann 1b55b466fb require: Add with-dependencies and with-all-dependencies as alternative option names 4 years ago
Jordi Boggiano 379baa1560
Merge pull request #8717 from naderman/t/pool-builder-allow-list
Move processing of partial update argument list into the pool builder
4 years ago
Nils Adermann f7b5cbd1fc Lock file should not contain new aliases for packages which were not updated 4 years ago
Nils Adermann 5ad93959cf PoolBuilder: On partial update of a new dep with mutual replace, unfix replacer
Test also verifies provider does not get uninstalled in partial update
for another package name
4 years ago
Nils Adermann 613450e58a PoolBuilder: properly clean up alias packages when unfixing packages
Prevent aliases to be duplicated: no need to apply root aliases from
composer.json on packages currently locked, they should have their
aliases in the lock file, otherwise request an update.
4 years ago
Nils Adermann 2dfbf3692a PoolBuilder: Remove null default for io 4 years ago
Nils Adermann 14000e7575 PoolBuilder: Ensure alias references get removed when unfixing a locked package
Use the last key + 1 for an index instead of count, since we unset elements somtimes
4 years ago
Nils Adermann c270d3cfa6 PoolBuilder: make io non-nullable, NullIO can be used instead 4 years ago
Nils Adermann 71c3c63b54 Remove unused variable assignment 4 years ago
Nils Adermann 9fb09049ff Rename and document constants for partial update behavior 4 years ago
Jordi Boggiano 22a52f5813
Apply suggestions from code review
Co-Authored-By: Andreas Möller <am@localheinz.com>
4 years ago
Andreas Möller 6e88683e35
Fix: Return early 4 years ago
Jordi Boggiano 800491175b
Avoid failing cleanup when a package gets uninstalled 4 years ago
Jordi Boggiano 6e45a53e76
Add support for relative paths in handling of install-path for the installed.json 4 years ago
Jordi Boggiano 1b1d59ee6c
Make FileDownloader always download file first in vendor-dir/composer/$tmp instead of next to install path to avoid issues with custom installers not being loaded when downloading on first install, and use cleanup method properly 4 years ago
Jordi Boggiano 918768fc54
Make sure we get a temporary dir which is unique 4 years ago
Jordi Boggiano 73251691a0
Avoid emptying the directory before extracting an archive into it, check that it is empty instead 4 years ago
Nils Adermann fc40fefa6f Make sure nameConstraints is always set when loading a name 4 years ago
Nils Adermann 443553423b Mark replaced packages for update when using --with-dependencies
This is necessary to allow the requiring of new packages which replace
packages currently locked without requiring explicitly listing them as
an argument, so simplifies the composer require command
4 years ago
Nils Adermann 392d0abd21 Rename test files and standardize on allow list rather than whitelist 4 years ago
Nils Adermann 01fe92905a The update allow list is now generated while building the pool
This reduces code complexity while making partial updates more
predictable. This also allows composer require to successfully run a
partial update for a new package with transitive dependency updates.
4 years ago
Nils Adermann da84763f03 Move partial update handling to pool builder 4 years ago
Christian Raue b644f63a93
fixed help URL for ClearCacheCommand 4 years ago
Jordi Boggiano 6679dde713
Merge pull request #8693 from enumag/patch-2
Add --dry-run to composer require
4 years ago
Jordi Boggiano 7e679656a4
Keep absolute path repos symlinks absolute, fixes #8700 4 years ago
Jordi Boggiano 86677ad172
Avoid scanning files twice when generating optimized autoloaders, fixes #8683 4 years ago
Jáchym Toušek 3bf46a77f9
Update RequireCommand.php 4 years ago
Jáchym Toušek bbb781b1ed
Add --dry-run to composer require 4 years ago
Jordi Boggiano cbdf74eb34
Merge remote-tracking branch 'naderman/optimize-fixed-pkg-loading' into 2.0 4 years ago
Jordi Boggiano cf5513f28d
Fix syntax error 4 years ago
Jordi Boggiano 0d2c2c044a
Avoid skipping feature branch detection if no branch-alias is defined at all 4 years ago
Jordi Boggiano c2d0fed06b
Tweak lock repo name 4 years ago
Jordi Boggiano 3a9b786400
Bring suggest output in line with the rest of update/install output 4 years ago
Jordi Boggiano e15f7d6bb7
Merge branch 'master' into 2.0 4 years ago
Aaron Johnson b41e768e1f
Put backticks around command for readability.
Helps to promote the command to discern it from the sentence. :)
4 years ago
Nils Adermann 8a6382d78d Remove unnecessary TODOs and skip EmptyConstraint like null 4 years ago
Nils Adermann bbdbb3517b PoolBuilder: Drop name constraints loop, already set earlier in same code 4 years ago
Nils Adermann 59bc957e76 Simplify loading of fixed and root require packages in pool builder
additionally mark all packages replaced by fixed packages as loaded as
there is no need to load those names at all, since the fixed package
will provide them
4 years ago
Jordi Boggiano d58653627a Optimize loading of deps from fixed packages 4 years ago
Jordi Boggiano 82e2a679bf Add TODO note 4 years ago
Jordi Boggiano 08cee4c3e9
Implement getProviders equally on all repos 4 years ago
Jordi Boggiano 8a83d5cc35
Fix create-project command 4 years ago
Jordi Boggiano d09daa8d5a
Merge pull request #8684 from naderman/dev-require-errors
Handle dev extraction exit codes instead of completing broken lock with errors
4 years ago
Nils Adermann ee8df484c4 Separate createPool and createPoolWithAllPackages, fix test description 4 years ago
Nils Adermann 281d8930ff For dev extraction skip pool building, we already have a working package set
Also reduce getProviders back to just providers, and add some todos
4 years ago
Jordi Boggiano 3d0d71367d
Doc updates 4 years ago
Jordi Boggiano 73a5cc63cc
Always use Removing for consistency between dry-run and actual install 4 years ago
Mathias Berchtold 1ebeb143ae
Fix PHP 8 warnings
The PR fixes this PHP 8 warning:
PHP Deprecated:  Required parameter $ambiguousClasses follows optional parameter $blacklist in phar://.../composer.phar/src/Composer/Autoload/AutoloadGenerator.php on line 339
4 years ago
Nils Adermann 06f460c557 Remove trailing spaces from output 4 years ago
Nils Adermann 1f467046d7 Implement getProviders on reposet for all repo types and add replacers
This way errors during require dev extraction make more sense
4 years ago
Nils Adermann ddb1e79bef Handle dev extraction exit codes instead of completing broken lock with errors 4 years ago
Jordi Boggiano 9c84f4d79f
Make sure InstalledRepository itself can be added too but requires allowing installed repos in reposet 4 years ago
Jordi Boggiano 589aa351a8
Change Uninstalling to Removing in lock operations 4 years ago
Jordi Boggiano ba04a46cae
Fix 5.3 issue 4 years ago
Jordi Boggiano d13ce20b6e
Fix handling of composer repos with v1 version_normalized format 4 years ago
Jordi Boggiano a453792d6b
Merge pull request #8682 from glaubinix/f/gitlab-guest-token-access
GitLab: properly handle token which has Guest only access
4 years ago
Jordi Boggiano d559bf5387
Allow configuring a path repo to an empty path as long as using wildcards and the wildcard root exists, fixes #8679 4 years ago
Stephan 402c64c271
Update src/Composer/Repository/Vcs/GitLabDriver.php
Co-Authored-By: Jordi Boggiano <j.boggiano@seld.be>
4 years ago
Jordi Boggiano a7a975ec1c
Alias dev-master/trunk/default to 9999999-dev instead of normalizing the version to that, fixes #8323 4 years ago
Stephan Vock 55d252b9c3 GitLab: properly handle token which has Guest only access 4 years ago
Jordi Boggiano 97e2a249e8
Merge branch 'master' into 2.0 4 years ago
Jordi Boggiano d271004b30
Also check for package requiring itself in require, not only require-dev 4 years ago
Jordi Boggiano 5c4ef1eb96
Make package name validation a hard failure, fixes #7875 4 years ago
Jordi Boggiano c033644f8b
Present lock changes alphabetically, with uninstalls first, then all install/updates mixed 4 years ago
Jordi Boggiano 24a5a0dacb
Skip invalid PSR-0/4 classes from optimized autoloader, fixes #8403 4 years ago
Jordi Boggiano 94e6cfc521
Only show direct dependencies suggestions by default, add --all flag to see all in suggest command, fixes #8660 4 years ago
Jordi Boggiano 2445ef5e1f
Refactor check-platform-reqs to use InstalledRepository and look for providers as well as platform packages, fixes #8645, closes #8676
Co-authored-by: Ellis <eantaya@nuglif.com>
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
4 years ago