6824 Commits (ba94445bb9401528ca048213252a514d6aab800d)

Author SHA1 Message Date
Jordi Boggiano 943c7a6433
Merge pull request #9165 from bpesch/master
Performance improvements
4 years ago
Jordi Boggiano b8ebc7be5f
Revert a few changes to ConfigCommand 4 years ago
Jordi Boggiano b1cbc08ec0
Allow false as well as repository value, refs #9165 4 years ago
Jordi Boggiano cc1874e21b
Merge pull request #9179 from simonberger/fix-duplicated-code
Moved duplicated table render code to a new method in BaseCommand
4 years ago
Jordi Boggiano 45653c55d8
Handle authentication for api domains of GitHub/Bitbucket, fixes #9173 4 years ago
Jordi Boggiano e6b45e853a
Fix status command handling of symlinks, and especially broken ones, fixes #9169 4 years ago
Jordi Boggiano 199696d120
Fix undefined method call 4 years ago
Jordi Boggiano 070530534d
Merge pull request #9176 from glaubinix/t/remote-file-system-response-decode
Composer2 RemoteFileSystem: response decode for TransportException
4 years ago
Stephan 32a0563443 RemoteFileSystem: catch decode errors for content length mismatch 4 years ago
Jordi Boggiano fc462ab978
Merge branch '1.10' 4 years ago
Jordi Boggiano b159e4da7e
Merge pull request #9172 from Toflar/platform-repo-cleanup
Consistently reuse new PlatformRepository::isPlatformPackage()
4 years ago
Alexander M. Turek fc961dce70 Call call_user_func_array() with a numeric arguments array. 4 years ago
Samuel Ryan a66db48673
Ask for target directory when using `create-project` 4 years ago
Simon Berger 687f886d56 Moved duplicated table render code to a new method in BaseCommand 4 years ago
Simon Berger 9516d0dc98 Re-Fetch cached packages only once in a run 4 years ago
Stephan 3b2d91975e RemoteFileSystem: response decode for TransportException 4 years ago
Yanick Witschi bd6f62c535 Consistently reuse the new PlatformRepository::isPlatformPackage() method 4 years ago
Nils Adermann 4ac9f44571 Clear up PoolBuilder comment after code move 4 years ago
Stephan 773635e355 ComposerRepository: avoid notice if includes do not provide a sha1 4 years ago
Nils Adermann 7b990f3767 PoolBuilder: Move merging of constaints to be loaded into relevant section 4 years ago
Nils Adermann b2670945bd PoolBuilder: clear up comment, matching and identity are different for constraints 4 years ago
username fc87caf639 Provide correct parameter data type 4 years ago
username 113adbcd87 Sort conditions by cost 4 years ago
username 98462292c0 Sort conditions by cost 4 years ago
username abedc0dc42 Sort conditions by cost 4 years ago
username 17ae93bc9c Remove unnecessary method call 4 years ago
username 18009af023 Inline variable 4 years ago
username e719be501e Remove unnecessary method call 4 years ago
username 459e2473c8 Remove unused variable 4 years ago
username 3f09ae0737 Simplify duplicate case 4 years ago
username 46cc387598 Split workflows 4 years ago
Nils Adermann 1385412748 Merge branch 'master' into filter-packages
* master:
  Add tests for edge cases of packages providing names which exist as real packages
  Add another test verifying that a package may provide an incompatible version of sth that actually exists
  Fix provider coexistence test, needs another requirement to install both
  Fix test filename to end with .test extension so it gets run
  Update config section to note required scope for GitLab tokens
  Fix pre/post-package-install/update/uninstall events receiving a partial list of operations, fixes #9079
  Also remove credentials from cache dirs in git/svn drivers, fixes #7439, refs #9155
  AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
  Sanitize repo URLs to mask HTTP auth passwords from cache directory
  Util/Zip: fix strpos args order
4 years ago
Yanick Witschi a1e1cd8fa4 Do not trigger Intervals::isSubsetOf() over and over again for platform packages 4 years ago
Jordi Boggiano f18d91bd58
Fix pre/post-package-install/update/uninstall events receiving a partial list of operations, fixes #9079 4 years ago
Jordi Boggiano c3db4614c9
Also remove credentials from cache dirs in git/svn drivers, fixes #7439, refs #9155 4 years ago
Jordi Boggiano 98862f5408
Merge pull request #9155 from Ayesh/hide-passwords-cache
Sanitize repo URLs to mask HTTP auth passwords from cache directory
4 years ago
Jordi Boggiano 9e77514764
Merge pull request #9156 from Ayesh/gitlab-repos
AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
4 years ago
Ayesh Karunaratne 931a1ff1f8
AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
Previously, `AuthHelper` consumed the authentication credentials for GitLab domains and added access tokens as GitLab-specific headers.
[Composer repositories now supported in GitLab](https://php.watch/articles/composer-gitlab-repositories) require standard Authorization headers with a personal access to function, which failed to work due to out GitLab-specific headers.

With this commit, AuthHelper checks if the password is an access token, and falls through to HTTP basic authentication even if the domain name is a GitLab domain name.
4 years ago
Ayesh Karunaratne 87573aab27
Sanitize repo URLs to mask HTTP auth passwords from cache directory
When a Composer repository is cached, a directory name is generated created stored package meta information fetched from that repository.
The cache directory can contain HTTP basic auth tokens, or access_token query parameters that end up in the directory name of the cache directory.

Discovered when trying out [GitLab composer repository feature](https://php.watch/articles/composer-gitlab-repositories), and the HTTP password was visible in a `composer update -vvv` command.

Using passwords/tokens in the URL is fundamentally a bad idea, but Composer already has `\Composer\Util\Url::sanitize()` that tries to mitigate such cases, and this same function is applied to the repo URL before deciding the name of the repo cache directory.
4 years ago
Iskander (Alex) Sharipov dc1fd92b9b
Util/Zip: fix strpos args order
`strpos()` first argument is a haystack, not a needle.

`strpos('x', $s)` is identical to `$s === 'x'` which is probably not what we want here.
4 years ago
Jordi Boggiano 9a04ecefbf
Merge branch 'master' into filter-packages 4 years ago
Jordi Boggiano f516d36f6f
Make sure Request::requireName can not be called twice for the same name 4 years ago
Jordi Boggiano 90332f1dbd
Add a readonly mode to the cache, fixes #9150 4 years ago
Jordi Boggiano 875a4784ed
Reorg config class a little 4 years ago
Jordi Boggiano 6186c7f36f
Fix handling of root aliases in partial updates, fixes #9110 4 years ago
Jordi Boggiano 05e9fe936f
Merge branch '1.10' 4 years ago
Jordi Boggiano b847c4dc3a
Validate licenses correctly even when proprietary is combined with some other license, fixes #9144 4 years ago
Stephan d140a842fa RemoteFilesystem: avoid warning when setting max file size 4 years ago
Jordi Boggiano 2bd1bd4194
Merge pull request #9142 from oleg-andreyev/fixing-error-message-for-higher-priority-repo
fixing error message for higher repository priority when it provides only a dev-branch
4 years ago
Jordi Boggiano 448daea696
Add support for detecting packages not matching only due to minimum stability 4 years ago
Jordi Boggiano e5ba99cf67
Merge branch '1.10' 4 years ago
Jordi Boggiano 9ea9d20b21
Merge pull request #9130 from glaubinix/t/max-file-size
Downloader: add a max_file_size option to prevent too big files to be downloaded
4 years ago
Stephan a16f32484b Downloader: add a max_file_size to prevent too big files to be downloaded 4 years ago
Oleg Andreyev f262feebec
fixing error message for higher repository priority, when higher repo has only a dev-branch 4 years ago
Lars Strojny a83588f568
The proper fix 4 years ago
Lars Strojny 4e06aa051a
Check if inet_pton() exists 4 years ago
johnstevenson 3be62a9fda Fix openssl_free_key deprecation notice in PHP 8 4 years ago
Jordi Boggiano 00e268cdbf
Clear Intervals cache when we are done with it 4 years ago
Markus Staab fdff3aeaba
emit github action formatted error messages (#9120) 4 years ago
Jordi Boggiano c845d66818
Lowercase ext- package names, refs #9093 4 years ago
Jordi Boggiano 4d20e6f5d6
Move Version util to Platform namespace, fix CS nitpicks, make regexes case insensitive for robustness, refs #9093 4 years ago
Jordi Boggiano 7e1ef19a5a
Expand library version checking capabilities (closes #9093) 4 years ago
Wissem Riahi 657ae5519e
Add support for TAR in Artifact packages (#9105) 4 years ago
Jordi Boggiano ff757e649c
Use pool to match packages to avoid getting packages without ids, fixes #9094 4 years ago
Jordi Boggiano 826db3db5e
Used locked repo only if it is present 4 years ago
Jordi Boggiano c0eb9834fe
Merge pull request #9116 from ryanaslett/patch-1
Update PathDownloader.php
4 years ago
Jordi Boggiano 51b1a752e3
Merge pull request #9098 from GrahamCampbell/patch-1
Use consistent phpdoc nullable syntax
4 years ago
Jordi Boggiano 7649c8438d
Fix exception when using create-project in current directory, fixes #9073 4 years ago
Ryan Aslett c0309f22d7
Update PathDownloader.php
If a path repository points at a directory that is managed by composer installers, the path that gets set ends up being relative, and this check fails to see that the source is already present, and therefore removes it.

Since ->install is already using realpath around the $path argument, remove should as well.

For an example repository that demonstrates this bug See: https://github.com/ryanaslett/pathrepotestcase
4 years ago
Graham Campbell 019febb5fa
Use consistent phpdoc nullable syntax 4 years ago
Jordi Boggiano 2d3905157d
Merge branch '1.10' 4 years ago
Jordi Boggiano 00f712a7c4
Revert "Allow specifying a version requirement for CLDR" 4 years ago
Jordi Boggiano 387e828993
Promote next major version when running stable self-update, and prevent self-update from automatically upgrading to the next major release 4 years ago
Jordi Boggiano 5bd61ac55c
Cache versions data to avoid redownloading it twice during self-update 4 years ago
Jordi Boggiano 7028d0ce27
Merge pull request #9077 from glaubinix/f/api-data-detection
Driver: only cache composer.json file without API data to disk
4 years ago
Jordi Boggiano daae46e1e0
Merge pull request #9085 from lstrojny/lib-cldr
Allow specifying a version requirement for CLDR
4 years ago
Jordi Boggiano 12d6759888
Fail hard instead of skipping branches/tags quietly when parsing VCS repos if 401/403 are returned, fixes #9087 4 years ago
Jordi Boggiano 7bcde1481d
Fix git downloader syntax for windows cmd when updating packages, fixes #9089 4 years ago
Jordi Boggiano 79813b2f77
Fix detection of git refs to be more strict 4 years ago
Lars Strojny 5a02ea6a96
Check that class exists 4 years ago
Lars Strojny 404dea61c2
Allow specifying a version requirement for the relevant CLDR 4 years ago
Stephan b25296ef74 Driver: only cache composer.json file without API data to disk 4 years ago
Tyson Andre e5c7835d57 Properly support PHP 8.0 Named Arguments
See https://wiki.php.net/rfc/named_params#internal_functions
(implemented but not yet merged)

An ArgumentCountError will be thrown when passing variadic arguments to
a function with call_user_func_array() if extra unknown named arguments
are encountered.

Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in phar:///path/to/composer.phar/src/Composer/DependencyResolver/DefaultPolicy.php:84

(e.g. for `['phpunit/phpunit' => [72]]`)
4 years ago
Andreas Möller ac055e5718
Fix: Reference 4 years ago
Jordi Boggiano d8fa746433
Merge pull request #9058 from Seldaek/zip-cleanup
Clean up Zip Util to be more strict about what is a valid package archive
4 years ago
Wissem Riahi c353ac835c
Add exception for multiple composer.json files (#3) 4 years ago
Markus Staab 4e1dd4bfdf
added phpdocs in StreamContextFactory 4 years ago
Jordi Boggiano 750a92b4b7
Fix headers array format 4 years ago
Jordi Boggiano 8cec8bd546
Allow verify_peer/verify_peer_name http options to be handled by curl downloader 4 years ago
Jordi Boggiano c3d40ae79a
Fix passing of repo http options in async requests 4 years ago
Jordi Boggiano 071350286f
Compact constraints to avoid ending up with very long multi constraints 4 years ago
Jordi Boggiano 22367a68f9
Avoid loading same packages multiple times 4 years ago
Jordi Boggiano 3577070efa
Fix docblocks 4 years ago
Yanick Witschi 6ba0f3adf9 Merge branch 'master' into filter-packages
* master: (59 commits)
  Update deps
  Reuse repository manager and others directly from the Composer instance, refs #9057
  Fix usage of create-project with local filesystem repos
  Fix return value
  Add support for multiple --repository additions in create-project, and make --add-repository delete the lock file, fixes #8853
  Remove cygwin php handling in UAC elevation
  Clean up a little to make impl less invasive and to handle replacers/providers
  Supply event dispatcher in Create Project Command
  Avoid attempting to use /etc/xdg as base config home, fixes #9053, refs #9045
  Create an issue @ Docker repository on tag
  Mark transaction classes internal, refs #8827
  Prepare 1.10.9 release
  Remove highest/lowest builds for 1.10 maintenance branch
  Fix bitbucket detection of redirects to login page, fixes #9041
  Fix doc comment
  Fixed spelling mistake
  Add Windows UAC elevation to self-update command
  GitLab: clarify interactive auth prompt
  Improve support for XDG and default to XDG config dir if both that and ~/.composer are available, fixes #9045
  Fix #9033 - inconsistent behavior with minor-only flag
  ...
4 years ago
Jordi Boggiano c3028c02d9
Merge branch '1.10' 4 years ago
Jordi Boggiano a474dee236
Merge remote-tracking branch 'johnstevenson/elevate2' into 1.10 4 years ago
Jordi Boggiano eac03e16e7
Reuse repository manager and others directly from the Composer instance, refs #9057 4 years ago
Jordi Boggiano 433968de17
Fix usage of create-project with local filesystem repos 4 years ago
Jordi Boggiano 201533e16f
Fix return value 4 years ago
Jordi Boggiano a2ab6f2b54
Add support for multiple --repository additions in create-project, and make --add-repository delete the lock file, fixes #8853 4 years ago
johnstevenson 8ddbae358d Remove cygwin php handling in UAC elevation
When called from a native shell and using cygwin PHP, cygpath translates
`/tmp` to `User\AppData\Local\Temp`, rather than `/cygdrive/.../tmp`.
This change does not affect using windows PHP from a Cygwin shell.
4 years ago
Jordi Boggiano 942562c382
Clean up Zip Util to be more strict about what is a valid package archive, fixes #8931 4 years ago
Jordi Boggiano 37b1e0fffd
Merge pull request #8955 from tlamy/OutdatedNoDevOption
Outdated/Show: no dev option
4 years ago
Jordi Boggiano 6869a1a5cb
Clean up a little to make impl less invasive and to handle replacers/providers 4 years ago
Shaun Johnston b4ecca5d0b Supply event dispatcher in Create Project Command
This update allows composer plugins to intercept the
create-project command to inject additional functionality such as
providing additional remote filesystem handling.
4 years ago
Jordi Boggiano 7cecc6ad3f
Avoid attempting to use /etc/xdg as base config home, fixes #9053, refs #9045 4 years ago
Jordi Boggiano 89d35af83d
Mark transaction classes internal, refs #8827 4 years ago
Jordi Boggiano 8b934a415f
Merge branch '1.10' 4 years ago
Jordi Boggiano 6cb4dc41b8
Fix bitbucket detection of redirects to login page, fixes #9041 4 years ago
johnstevenson 57f91d01c7
Fix doc comment 4 years ago
johnstevenson 272654d6e2
Fixed spelling mistake 4 years ago
johnstevenson cae913c434
Add Windows UAC elevation to self-update command
If self-update fails on Windows due to file permission issues, a .vbs
script is used to elevate a call to the cmd.exe `move` command.
Unfortunately it is not possible to know if the user cancelled the UAC
prompt using this method - it is possible using a Powershell script, but
flashing hidden windows make this a less desirable option.

The only downside is that a UAC invoked process is asynchronous, so a
300 millisecond timeout is used to allow cmd.exe to do its stuff.
Therefore if the OS is busy the script may finish first and incorrectly
report that the file has not been written.
4 years ago
Stephan fb0ad7c900 GitLab: clarify interactive auth prompt 4 years ago
Jordi Boggiano 870fdc59df
Merge remote-tracking branch 'tomekpryjma/fix-issue-9033' 4 years ago
Jordi Boggiano 10590dc519
Improve support for XDG and default to XDG config dir if both that and ~/.composer are available, fixes #9045 4 years ago
Tomek 23c32ed6d3 Fix #9033 - inconsistent behavior with minor-only flag 4 years ago
Jordi Boggiano 92ef439666
Merge branch '1.10' 4 years ago
Jordi Boggiano d2d3aa8494
Fix parsing of # in funding links, fixes composer/packagist#1097, closes #9035 4 years ago
Jordi Boggiano d7b1248508
Create pool before reading package ids as the pool creation reassigns package ids, fixes #9034 4 years ago
Jordi Boggiano 1fa6f4c83c
Add a default signal handler to avoid having the SIGINTs ignored, fixes #9027 4 years ago
Jordi Boggiano ee4afa29e7
Include dev packages in locked package listings for show command 4 years ago
Jordi Boggiano 70f211923b
Add support for list URL in composer repos, fixes #9009 4 years ago
Jordi Boggiano 1824637dab
Merge pull request #8999 from naderman/fix-solver-bug-exception-7051
Fix solver bug exception 7051
4 years ago
Nils Adermann 3f5dde9873 Solver: Ensure multi conflict rules still get added to learned pool 4 years ago
Nils Adermann edef748169 Solver: Clarify when/why undecided literals can get skipped in analyze 4 years ago
Nils Adermann 851050e85c Solver: multiconflict analyze handles positive decision same as regular literal 4 years ago
Nils Adermann 6e05345be7 Solver: Move analyze handling of multiconflict rule to clearer location
This way we're not looking at the previous decision at the top of the
loop but working with the current decision at the bottom
4 years ago
Nils Adermann b34f916470 Solver: No need to check previous decision if we reached the first one 4 years ago
Nils Adermann 2631210493 Solver: analyze multi conflict rules in conflict resolution correctly 4 years ago
Jordi Boggiano 5ef398ebb9
Fix 5.3 support 4 years ago
Jordi Boggiano bee91155a1
Fix guessing of default branch when HEAD is a non-feature-branch 4 years ago
Jordi Boggiano 4a2ea3c67a
Fix var name 4 years ago
Jordi Boggiano 86af5e5c6e
Remove conflict between trunk and master, as they do not normalize anymore 4 years ago
Jordi Boggiano e2f1e8aed6
Allow optimizing fetching of dev versions only if no other stability is needed 4 years ago
Jordi Boggiano a133e694d0
Speed up fund command fetching of latest data and make sure it uses default branch info 4 years ago
Jordi Boggiano 6f9b39180c
Add phpdocs 4 years ago
Jordi Boggiano 05dacbdabb
Rename DEV_MASTER_ALIAS to DEFAULT_BRANCH_ALIAS 4 years ago
Jordi Boggiano 821e575658
Merge branch '1.10' 4 years ago
Jordi Boggiano 74d89d7110
Get rid of default branch handling in version guesser as it is way too time intensive at every initialization 4 years ago
Jordi Boggiano a5e608fb73
Merge pull request #9008 from Ayesh/strtr-improvements
Replace cascading str_replace() calls with strtr()
4 years ago
Jonas Drieghe eea7564c9e Revert accidental rename of $dependencies variable in unrelated code branch 4 years ago
Jonas Drieghe d5d956df4d Use correct variable name 4 years ago
Jonas Drieghe 73a721c7e5 Add the missing summary format to command-line help text 4 years ago
Jonas Drieghe ec6e05d55f Sort licenses so that the most used license will appear first 4 years ago
Jonas Drieghe 668655c21a Rename variable for clarity 4 years ago
Stephan Vock 52332d994e GitDriver: use authentication for supports check 4 years ago
Ayesh Karunaratne e3c75b3e87
Replace cascading str_replace() calls with strtr()
Replaces cascading str_replace() calls with a single strtr() call that makes it mode readable and provides a micro performance improvement.
Some instances of cascading str_replace() calls were not refactored due to the potential recurring replacement patterns.
4 years ago
Yanick Witschi ea0ce9dd7d Merge branch 'master' into filter-packages 4 years ago
Jordi Boggiano e76fc2dc39
Avoid blocking when guessing default branch name, fixes #9001 4 years ago
Nils Adermann edd2aa27db
Add missing isVerbose argument to problem formatting call 4 years ago
Jordi Boggiano 7a37e78a30
Speed up installer tests by avoiding lots of bootstrapping and git processes 4 years ago
Jordi Boggiano 6349764c2d
Fix root package handling of default-branch 4 years ago
Jordi Boggiano 923f198a1f
Fix default-branch attribute on package files, and add it to schema 4 years ago
Jordi Boggiano 6f0e5996de
Treat default branch name as a non-feature-branch no matter what it is called 4 years ago
Jordi Boggiano 4682efcf77
Support also default_branch flag in cached versions 4 years ago
Jordi Boggiano 52afa5ef16
Fix handling of default branches 4 years ago
Jordi Boggiano f70d527f4f
Fix git tests 4 years ago
Jordi Boggiano ce368f8269
Store default branch info inside metadata 4 years ago
Jordi Boggiano 04381c70fe
Merge branch '1.10' 4 years ago
Jordi Boggiano cb1f3899bb
Revert "Store default branch info inside metadata"
This reverts commit 472a62152d.
4 years ago
Michael Stucki 0278e7453d
Clean Git repos during discard 4 years ago
Jordi Boggiano 8c0ecf7337
Clarify why a dev tag was ignored, fixes #8951 4 years ago
Jordi Boggiano 93d4cf6f91
Add --no-show-signature where git supports it, fixes #8966 4 years ago
Jordi Boggiano 472a62152d
Store default branch info inside metadata 4 years ago
Thomas Lamy 722bbce72f Merge remote-tracking branch 'upstream/master' into OutdatedNoDevOption 4 years ago
Jordi Boggiano 83c64a9d19
Reuse operation formatting logic in downloaders 4 years ago
Jordi Boggiano aaef3ff5ff
Improve error reporting when unzip fails due to race condition in unhandled Promise, refs #8988 4 years ago
Jordi Boggiano d1fedc3bd6
Restore old behavior of wiping dir contents before installing, fixes #8988 4 years ago
Jordi Boggiano 80d1b1a34c
Merge pull request #8987 from GrahamCampbell/patch-2
Marked getRootAliasesPerPackage as static
4 years ago
Jordi Boggiano 5ec6b81157
Merge pull request #8986 from GrahamCampbell/patch-1
Phpdoc tweaks
4 years ago
Jordi Boggiano c8731598cc
Merge branch '1.10' 4 years ago
Jordi Boggiano da572f1fdc
Merge remote-tracking branch 'GrahamCampbell/allow-list' into 1.10 4 years ago
Jordi Boggiano 09fc263d37
Fix status command bug 4 years ago
Graham Campbell 643852a2b0
Marked getRootAliasesPerPackage as static 4 years ago
Graham Campbell a4f4101346
Phpdoc tweaks 4 years ago
Jordi Boggiano 0d369c87bc
Merge pull request #8975 from ffraenz/pr
Composer 2: Allow plugins to override the URL before triggering the download
4 years ago
Jordi Boggiano 5aae7f4f20
Merge remote-tracking branch 'jderusse/optimize-compile' 4 years ago
Jordi Boggiano aea074308c
Update batching to install plugin deps before the plugin (alone an own batch) 4 years ago
Jordi Boggiano 085fe4e7e5
Add --no-progress support and a few more fixes 4 years ago
Jordi Boggiano 9c78eda7db
Fix FileDownloader::update impl to handle promises 4 years ago
Jordi Boggiano 87a0fc5506
Execute operations in batches to make sure plugins install in the expected order 4 years ago
Jordi Boggiano 9f380d606c
Add basic progress bar capability while waiting for jobs to complete 4 years ago
Jordi Boggiano b1e15c7725
Fix a couple async bugs 4 years ago
Jordi Boggiano 3af617efe8
Parallelize zip extraction using async unzip processes 4 years ago
Jordi Boggiano 8f6e82f562
Add support for aborting running promises cleanly 4 years ago
Jordi Boggiano 0dad963cd8
Add executeAsync to ProcessExecutor and allow Loop class to wait on it in addition to HttpDownloader 4 years ago
Jordi Boggiano d5286d0cb8
Add a way for FileDownloader subclasses to add paths to the cleanup stage 4 years ago
Jordi Boggiano a797ee1322
Fix inline aliases not being loaded when extracting dev requirements, fixes #8954 4 years ago
Jordi Boggiano da6c0635d2
Merge pull request #8980 from stucki/discard-using-git-clean
Discard changes is incomplete if Git project has additional folders
4 years ago
Jonas Drieghe 8da2811dc3
Add new summary format for licenses (#8973)
* Add new summary format to render the number of dependencies for each used license

* Array dereferencing wasn't available on php 5.3

* Add summary format to documentation
4 years ago
Michael Chekin 6d9bf42655
Additional Util\RemoteFileSystem tests (#8960)
* RemoteFilesystemTest: simplifying some mock expectations calls

- will($this->returnValue()) to willReturn()
- will($this->returnCallBack()) to willReturnCallback()

* RemoteFilesystemTest: extracting identical mocks for IOInterface into a separate getIOInterfaceMock() method

* RemoteFilesystemTest: converting protected helper methods to private.

* RemoteFilesystemTest: moving getConfigMock() private method after the public methods (with other private methods)

* adding RemoteFileSystemTest::testCopyWithRetryAuthFailureFalse() unit test.

* Allow optional injecting of AuthHelper into RemoteFilesystem constructor.

* adding RemoteFileSystemTest::testCopyWithSuccessOnRetry() unit test.

* using backward compatible @expectedException in RemoteFilesystemTest.php

* RemoteFilesystemTest: extracting RemoteFilesystem with mocked method creation into a separate method.

* RemoteFilesystemTest: extracting AuthHelper with mocked method creation into a separate method.
4 years ago
Fränz Friederes 5c13c97428
Implement type and context properties in PreFileDownloadEvent 4 years ago
Michael Stucki ae59047166 Clean Git repos during discard 4 years ago
Fränz Friederes 907367ff43
Fix PHPDoc issue 4 years ago
johnstevenson 54debe8210
Respect disable-tls in Versions::getLatest
Use http to get the latest version when disable-tls is true and error-
trap DiagnoseCommand::checkVersion so that all checks can complete.
Fixes #8657.
4 years ago
Jordi Boggiano a17bbec842
Avoid double warnings about composer.json when running outdated, fixes #8958 4 years ago
Fränz Friederes 13bdf8553a
Add setProcessedUrl method to PreFileDownloadEvent 4 years ago
Graham Campbell a97d13fc6d
Fixed typo
Co-authored-by: ZhangWei <zhwei.yes@gmail.com>
4 years ago
Graham Campbell fa799970ad Replace whitelist with allow list 4 years ago
Jordi Boggiano 2fa58ccf96
Reduce amount of packages loaded by avoiding extensions of the constraint beyond the root constraint 4 years ago
Jordi Boggiano 4b9b499ce5
Fix issue loading aliases and fix markPackageNameForLoading when called twice in a row for same package it would overwrite the constraint the second time 4 years ago
Jordi Boggiano f2befc46c9
Avoid storing duplicate packages when loading the same package twice 4 years ago
Jordi Boggiano 67a88880ec
Get rid of EmptyConstraint 4 years ago
Jordi Boggiano cb19347031
Update to latest master 4 years ago
Yanick Witschi b6c436598b
Updated to latest semver intervals 4 years ago
Yanick Witschi 6ef47baca1
Added a todo for package dupes 4 years ago
Yanick Witschi 014e9d5dd1
Fixed last remaining pool builder test 4 years ago
Yanick Witschi 5097ed6480
Fixed another test 4 years ago
Yanick Witschi 5a835db24d
Fixed another partial update test 4 years ago
Yanick Witschi 7be24dccd9
Fixed some of the partial update tests 4 years ago
Yanick Witschi 225a6a0a82
Improved variable naming 4 years ago
Yanick Witschi 0955d38374
Simplify package loading 4 years ago
Yanick Witschi 779b56ab2b
Fixed psalm annotations 4 years ago
Yanick Witschi b00291cf21
CS 4 years ago
Yanick Witschi 00500f83c0
Using the current subset branch of @Seldaek to fix subset tests 4 years ago
Yanick Witschi 26877285ad
Filter duplicate packages 4 years ago
Yanick Witschi bde9502473
Made the constraint argument in Link mandatory 4 years ago
Yanick Witschi 2427bef238
Typo 4 years ago
Yanick Witschi bca88bdd4b
Fixed PoolBuilder running endlessly when packages do not exist 4 years ago
Yanick Witschi b87fc5bbfd
Added more poolbuilder test 4 years ago
Yanick Witschi d78c37edd2
Cleanup and added some more improvements, tests still failing 4 years ago
Nils Adermann 5dd4b456b9
PoolBuilder: Do not load any alternatives to pkgs replaced by fixed pkg 4 years ago
Nils Adermann bb4cabc0b9
PoolBuilder: Avoid loading any alternatives to fixed packages 4 years ago
Yanick Witschi 1c8865a5d1
Comment 4 years ago
Yanick Witschi 10555ecff3
Make sure there's always a constraint 4 years ago
Yanick Witschi 912aecb666
Removed name constraints 4 years ago
Yanick Witschi af7feade8f
POC 4 years ago
Thomas Lamy caa5545478 #8945 Add "--no-dev" to outdated/show commands 4 years ago
Jordi Boggiano 9d5051faac
Merge branch '1.10' 4 years ago
Jordi Boggiano 6630519882
Fix #8298 for COMPOSER_DEV_MODE 4 years ago
Jordi Boggiano 29ec10d95c
Fix output formatting 4 years ago
Nils Adermann f15b9c258e
Merge pull request #8949 from Seldaek/cleanups
Cleanups / docblocks
4 years ago
Ayesh Karunaratne 71ddc487fe
Platform Check: Add a special case for `zend-opcache`.
Ref #8946

The platform-check feature maps `ext-X` to `extension_loaded('X')` calls.
While most of the extensions can be tested this way, the `zend-opcache`
extension requires `zend opcache` to be probed instead of the `zend-opcache`
name.

This commit adds a special case for `zend-opcache` to use the correct name
in `extension_loaded()` calls in generated `platform_check.php` file.
4 years ago
Jordi Boggiano c9571f90b4
Run phpstan with regular output and then run again to cs2pr if there was an error, to keep usable output in CI logs 4 years ago
Jordi Boggiano a4a617abb4
Reduce amount of Filesystem/ProcessExecutor instantiations, add lots of docblocks 4 years ago
Jordi Boggiano 5761228068
Make installer classes forward promises from downloaders to InstallationManager 4 years ago
Jordi Boggiano 816d8e9d1b
Fix phpstan error 4 years ago
Jordi Boggiano 90bd351b8b
Allow downgrades to go through even though the target dir for archive extraction exists 4 years ago
Jordi Boggiano 63041fbf50
Add missing class 4 years ago
Jordi Boggiano 02059d96e7
Fail early if an archive extraction is going to fail at install/update stage to avoid leaving the vendor dir in a half up to date state 4 years ago
Jordi Boggiano 396ad87fd0
Add handling of ctrl-C on windows for php 7.4+ 4 years ago
Jordi Boggiano a66a939b76
Merge pull request #8937 from Seldaek/optim-rules
Optimize rule creation for alias packages
4 years ago
Jordi Boggiano 5ef7765cbd
Merge pull request #8923 from staabm/glob-classmap
Autoload-Generator: support glob patterns in classmaps
4 years ago
Jordi Boggiano ccea1b95a8
Fix pretty constraint for --with overrides 4 years ago
Jordi Boggiano 7507b87fb3
Remove stray var_dump 4 years ago
Jordi Boggiano 8d3ec0f718
Do not reverse sorted packages, fixes #8320 4 years ago
Jordi Boggiano 1055be7936
Fix unfixing of packages when a replacer gets unfixed before a replacee, refs #8882 4 years ago
Jordi Boggiano 4d75d524f1
Fix class name case, refs #8939 4 years ago
Graham Campbell 462dc5a933
Fix for HHVM 3 4 years ago
Nils Adermann 86e79fcce3
Merge pull request #8938 from Seldaek/drop-dead-code
Remove some dead code from RuleSetGenerator
4 years ago
Jordi Boggiano 718021724c
Deduplicate more content in complex problem output 4 years ago
Jordi Boggiano 9bd255d8f1
Remove some dead code from RuleSetGenerator 4 years ago
Jordi Boggiano 5a4709c3d6
Optimize rule creation for alias packages
This mainly benefits projects running updates with minimum-stability: dev
4 years ago
Jordi Boggiano 8a7f3a9a09
Avoid rendering problem output for dev-master aliases which is useless 4 years ago
Jordi Boggiano 5e5f9f8142
Remove unused RULE_INTERNAL_ALLOW_UPDATE 4 years ago
Jordi Boggiano c8efb50d39
Change the single requirement ignore from --ignore-platform-reqs=xx to --ignore-platform-req=xx to avoid BC issues 4 years ago
Jordi Boggiano 2ddf4346ef
Improve error reporting for RULE_PACKAGE_ALIAS 4 years ago
Jordi Boggiano 0ea9eafcaf
Add rules for aliased packages when an alias is added, fixes #8902 4 years ago
Jordi Boggiano c0f5c13516
RuleSetGenerator instance does not need to be kept around anymore 4 years ago
Jordi Boggiano 1e08097a17
Fix phpstan warning 4 years ago
Jordi Boggiano a9affa8413
Add missing use statement 4 years ago
Jordi Boggiano e85da00dff
Add a way to ignore only some packages in --ignore-platform-reqs, and make the platform check ignore those packages which were ignored as requirements, fixes #8861 4 years ago
Jordi Boggiano 21e708f2c4
Remove upper bound PHP version checks from platform-check as there is not enough value added and it risks causing issues 4 years ago
Jérémy Derussé 95e6e16b78
Use Semver compiled constraints 4 years ago
Markus Staab 6a0e02db1b Autoload-Generator: support glob patterns in classmaps 4 years ago
Jordi Boggiano a07f9ffba9
Catch SIGINT/Ctrl+C during installs and run cleanups on all packages before exiting 4 years ago
Jordi Boggiano 385655f02a
Mark temp files as such for clarity in case any gets left over 4 years ago
Jordi Boggiano acf2b15982
Merge branch '1.10' 4 years ago
azjezz 30f994e424 fix deprecations in PHP 8 4 years ago
Jordi Boggiano c7fb15faf4
Update to MatchAllConstraint 4 years ago
Jordi Boggiano 45d3e133a4
Avoid checking for unbounded constraints in platform checks 4 years ago
Jordi Boggiano 62d0443e07
Avoid checking for readline in non-CLI contexts, fixes #8909 4 years ago
Jordi Boggiano d42e12c514
Make config non optional, fixes #8896 4 years ago
Jordi Boggiano b27c4b2472
Merge branch '1.10' 4 years ago
Timo Webler 541692bbfe
Use "getInitialWorkingDirectory" instead of "getWorkingDirectory"
Follow-up 8d24b61bef
4 years ago
Jordi Boggiano 1d2df5ef55
Add output to remove/require command to highlight the fact it is running an update command, refs #8910 4 years ago
Jordi Boggiano af6444353f
Refactor hint generation and whitespace handling in SolverProblemsException 4 years ago
Jordi Boggiano 98e5f81a5f
Fix detection of fixed package problems to include more cases, fixes #8910 4 years ago
Jordi Boggiano beded906ba
Merge branch '1.10' 4 years ago
Jean-Michel DELEHAYE 42fc372e52
Add function_exists() for 'pcntl_signal' 4 years ago
Matěj Kmínek a074819a51
Add support for gitlab deploy token (#8867)
* feat: Added ability to work with GitLab deploy tokens: https://docs.gitlab.com/ee/user/project/deploy_tokens/

Deploy tokens can be specified two ways:
1) GIT CONFIG:
git config --add gitlab.deploytoken.user USERNAME && git config --add gitlab.deploytoken.token TOKEN
2) Auth.json:
"gitlab-token": {
    "gitlab.com": {"username": "USERNAME", "token": "TOKEN"}
}
4 years ago
Jordi Boggiano 1ef352751c
Fix display issue in create-project when installing dev-master 4 years ago
Jordi Boggiano ba3df8faea
Merge pull request #8843 from FIDATA/feature/archive-name
Add (default) base name of archive into composer.json
4 years ago
Jordi Boggiano dd0c8b4278
Merge pull request #8723 from helhum/fix-package-sorting
Fix package sorting
4 years ago
Jordi Boggiano 3134466b42
Merge branch '1.10' 4 years ago
Jordi Boggiano 4ce492d01d
Fix detection of gitlab URLs, fixes #8402, closes #8868 4 years ago
Nils Adermann 5d5515348a
Merge pull request #8860 from Seldaek/update-with
Add --with to update command to allow downgrading to a specific version / applying custom temporary constraints
4 years ago
Nils Adermann ff0717ad66
Merge pull request #8859 from Seldaek/deduplicate-problems
Deduplicate require/conflict rules which are the same but for different versions of the same package
4 years ago
Nils Adermann 678abdbc9f
Merge pull request #8873 from Seldaek/version_selector_platform
Use all PlatformRepo packages in VersionSelector checks
4 years ago
Jordi Boggiano 1d68e85433
Fix usage 4 years ago
Jordi Boggiano ef3797cdd6
Cache successful requests to make sure subsequent loadPackages calls do not do the same requests for nothing 4 years ago
Jordi Boggiano 8a2dd1baef
Adjust all usages of VersionSelector to the new API 4 years ago
Jordi Boggiano 419567ba6d
Update VersionSelector to take all platform requirements into account when selecting packages 4 years ago
Jordi Boggiano b11f43f59e
Merge remote-tracking branch 'origin/1.10' 4 years ago
Jordi Boggiano 92aed041e4
Make the VersionSelector take Composer API/Runtime versions into account, refs getsentry/sentry-php#1008 4 years ago
Markus Staab 11930001fb
Added phpdoc types for PoolBuilder (#8862) 4 years ago
Ayesh Karunaratne aa20413990
Improve regex in \Composer\Downloader\SvnDownloader::getCommitLogs() by removing unnecessary greedy operator 4 years ago
Ayesh Karunaratne d4c8478df5
Improve regex in \Composer\Repository\ComposerRepository::fetchFile() by removing unnecessary greedy operator 4 years ago
Helmut Hummel 7c891701e6 Fix package sorting
PackageSorter weighs the importance of a package
by counting how many times it is required by other packages.
This works by calculating the weight for each package name.

However currently the package index of the package array
is currently passed the weigh function, which basically
disables package sorting.

The reason for that is, that a package repository previously
returned the package list as associative array with  package name as keys,
but currently just as an array with integer keys.

Therefore we must extract the package name from the package
before passing it to the weigh function.
4 years ago
Jordi Boggiano 1d077ede70
Merge branch '1.10' 4 years ago
Jordi Boggiano bfe71fb952
Fix support for --self --name-only, fixes #8844 4 years ago
Jordi Boggiano 4ce3836f51
Fix creation of a php: dir when running create-project, fixes #8849 4 years ago
Jordi Boggiano 7f308d986e
Add --with to update command to allow downgrading to a specific version/applying custom temporary constraints, fixes #8756 4 years ago
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