Julian
c78850ab98
Show a warning if require key changes for dependency ( #9542 )
...
Fixes #9516
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-02-25 10:24:09 +01:00
Jordi Boggiano
d806013091
Add more details when require/init fails to find a matching package due to the platform requirements
2021-02-25 09:33:58 +01:00
Jordi Boggiano
d0aac44ed2
Auto-detect dev-mode in autoload-dump and deprecate dump-autoload --no-dev ( #9714 )
2021-02-24 21:17:05 +01:00
ochorocho
91b6ff27ac
Add --format option to `composer fund` command ( #9678 )
...
* Add --format option to `composer fund` command
Co-authored-by: Jochen Roth <jochen.roth@b13.com>
2021-02-24 17:21:10 +01:00
Jordi Boggiano
7c555b6382
Merge pull request #9682 from nicolas-grekas/installed-no-dev
...
Allow querying InstalledVersions::isInstalled() for no-dev packages
2021-02-24 17:16:28 +01:00
Jordi Boggiano
8da3b3b9be
List relevant conflicts in why/why-not, fixes #9693
2021-02-24 16:36:20 +01:00
Jordi Boggiano
09639a0cfc
Merge pull request #9670 from Ayesh/enums
...
Add support for autoloading Enums
2021-02-24 16:03:58 +01:00
Jordi Boggiano
e3af4ee606
Include stdout as well as stderr if git stash/diff/.. fails, fixes #9720
2021-02-24 15:47:06 +01:00
Jordi Boggiano
7c910e6bfa
Revert autoload order fix, force bundled dependencies to be used over local dependencies, fixes #9721 , fixes #9717
2021-02-24 14:55:13 +01:00
Jordi Boggiano
bbd87934e9
Make sure we always pass a string to strtoupper
2021-02-23 20:02:33 +01:00
Jordi Boggiano
2597e195ef
Merge remote-tracking branch 'Sweetchuck/i9703-event-dispatcher-last-winner'
2021-02-23 15:25:57 +01:00
Jordi Boggiano
d855986c39
Also allow backslashes to work on cmd.exe for plain executable paths, fixes #9707
2021-02-23 15:23:17 +01:00
Jordi Boggiano
cf2128a889
Merge pull request #9713 from Seldaek/fix-unixy-proxy
...
Generate binary proxy in PHP if the target binary is detected as a PHP script
2021-02-23 14:15:44 +01:00
Jordi Boggiano
31d9f51572
Auto-detect mingw and assume it is interactive, fixes #9690
2021-02-23 13:11:00 +01:00
Jordi Boggiano
b3b0cf629e
Generate binary proxy in PHP if the target binary is detected as a PHP script, so custom PHP processes can be used to call them via the bin proxy path, fixes #9325
2021-02-23 11:07:25 +01:00
Jordi Boggiano
057006da4f
Make sure @php path/to/bla gets executed as php path\to\bla on windows, fixes #6968
2021-02-23 08:57:35 +01:00
Jordi Boggiano
8f7597da22
Use a different way to suppress output than changing output verbosity in exec command, fixes #9711
2021-02-22 13:42:58 +01:00
Nicolas Grekas
7d4501816c
Allow querying InstalledVersions::isInstalled() for no-dev packages
2021-02-18 13:15:26 +01:00
Jordi Boggiano
03e8cacd12
Merge pull request #9696 from Seldaek/fix_installed_versions_during_update
...
Fix installed versions usage issues when using it in plugins during a Composer update process
2021-02-18 10:37:22 +01:00
Jordi Boggiano
d91fe67a80
Remove default branch alias from versions which are numeric, fixes #9705
2021-02-17 23:48:03 +01:00
Jordi Boggiano
f7e8f7625f
Remove plugin installer hackery
2021-02-17 23:21:18 +01:00
Dávid Andor
360966dcdf
EventDispatcher uses only the return value of the last one listener, refs #9703
2021-02-16 22:01:14 +01:00
brandonkelly
62af444821
Check if SODIUM_LIBRARY_VERSION is defined
2021-02-16 12:51:14 -08:00
Jordi Boggiano
cf324ee664
Make sure the plugins can use InstalledVersions to introspect themselves when being activated right after initial install
2021-02-12 11:18:04 +01:00
Jordi Boggiano
d4073a40f9
Prepend runtime-autoloaders so that dependencies get loaded over Composer bundled packages
...
As Composer is generally compatible with newer versions of Symfony than the bundled ones, this should
not be a problem if dependencies are shared, and it ensures that the most relevant code gets loaded.
2021-02-12 11:14:40 +01:00
Jordi Boggiano
1c715b5821
Never load dev requirements, refs #9683
2021-02-11 16:05:37 +01:00
Jordi Boggiano
4c8149a33d
Only load dev requirements for the root package when collecting autoload dependencies during plugin activation, fixes #9683
2021-02-11 14:55:03 +01:00
Jordi Boggiano
e7f6dd287c
Merge branch '1.10'
2021-02-11 13:07:23 +01:00
Jordi Boggiano
abcf9e993b
Fix processes silently ignoring the CWD when it does not exist, refs #9694
2021-02-11 12:57:01 +01:00
Jordi Boggiano
52d7c6c383
Fix/add tests and also handle case where a json object is used
2021-02-11 11:13:58 +01:00
Jordi Boggiano
4130d388fe
Auto-detect packagist.org default repo replacements and deactivate it if it is redefined
2021-02-11 10:41:17 +01:00
Jordi Boggiano
f37f3dab04
Fix abort of downloads and zip extraction to happen immediately, fixes #9390
2021-02-10 17:34:15 +01:00
Jordi Boggiano
40095b20dc
Allow tweaking the max parallel http requests via env var, fixes #9671
2021-02-10 14:34:59 +01:00
Jordi Boggiano
a6d92e1eee
Sanitize URLs
2021-02-10 12:46:57 +01:00
Jordi Boggiano
8d94e25c2f
Minor fixes
2021-02-10 11:28:01 +01:00
Jordi Boggiano
902174d2a7
Improve error reporting when failing to load a package, fixes #9680
2021-02-10 11:24:59 +01:00
Jordi Boggiano
6a869ede77
Fail early if git/hg/svn can not be found on the system, so that download can be retried from dist, fixes #9681
2021-02-10 10:48:08 +01:00
Jordi Boggiano
78d7792eb8
Fix handling of promises for uninstall step when updating to a different install source
2021-02-10 10:48:07 +01:00
Ayesh Karunaratne
228428747a
Add support for autoloading Enums
...
PHP 8.1 supports Enums, and [Enums follow class-semantics](https://php.watch/versions/8.1/enums#class-semantics-autoload ).
Composer's class-map generator currently looks for `class`, `interface`, and `trait` keywords. If Composer is run in PHP 8.1 or later, Composer now additionally looks for `enum` keyword as well. This is similar to how Hack's `enum` support is added.
This PR also adds tests for basic enums, backed enums, namespaced enums, and an enum that implements an interface and extends a class.
2021-02-06 15:51:18 +07:00
adlacruzes
2d914524e9
JsonFile: add missing ParsingException throws annotations
2021-02-05 17:32:25 +01:00
Arnaud Vanwambeke
7402ef33fc
Dont recommend to use with all dependencies option when it is already used
2021-02-03 23:43:35 -05:00
Yanick Witschi
ea6b0836c4
Allow to override Installer::createPlatformRepo
2021-02-01 15:17:02 +01:00
Jordi Boggiano
1e72b23fd3
Merge pull request #9658 from Ayesh/improve/class-autoloader-conditional-path
...
Minor improvement to ClassLoader::register no-op block
2021-02-01 14:14:34 +01:00
Jordi Boggiano
4ade9bd960
Avoid accessing undefined indices, fixes #9654
2021-02-01 12:55:55 +01:00
Ayesh Karunaratne
980aac6eb2
Minor improvement to ClassLoader::register no-op block
...
A recent change in the ClassAutoloader (#9635 ) added support for specifying a vendorDir, and `\Composer\Autoload\ClassLoader::register` now has a if-elseif-else chain.
The first block has a `// no-op` comment, followed by an `elseif` block. It's more readable to `return;`, and remove the `elseif` for readability.
2021-01-29 20:10:18 +07:00
Jordi Boggiano
cee34b06b4
No need to ignore phpstan error now that getRegisteredLoaders is in a release
2021-01-29 09:46:21 +01:00
Jordi Boggiano
1a0e578b14
Remove ungreedy modifier and make a few domain matches case insensitive, fixes #9656
2021-01-29 09:43:47 +01:00
Jordi Boggiano
07b8c23f02
Merge branch '1.10'
2021-01-27 15:46:58 +01:00
Jordi Boggiano
37c5e9961c
Merge remote-tracking branch 'nicolas-grekas/path-version' into 1.10
2021-01-27 15:20:38 +01:00
Jordi Boggiano
92313447d6
Filter out exclude-from-classmap rules to avoid generating very long regexes, fixes #9487
2021-01-27 15:10:32 +01:00
Nicolas Grekas
725b33ee5a
Handle "versions" option in PathRepository, remove support for "branch-version"
2021-01-27 14:28:26 +01:00
Nicolas Grekas
079e501ac8
Revert "Merge pull request #9273 from nicolas-grekas/dev-version"
...
This reverts commit d2d606ced2
, reversing
changes made to 4a8dbcd145
.
2021-01-27 14:03:44 +01:00
Jordi Boggiano
51371944e1
Add comment about not removing the static $installed data, refs #9635
2021-01-27 11:05:53 +01:00
Jordi Boggiano
51001dec60
Merge remote-tracking branch 'nicolas-grekas/install-stack'
2021-01-27 11:04:09 +01:00
Nicolas Grekas
ba94445bb9
Ensure InstalledVersions reports info about all currently registered class loaders
2021-01-27 10:39:35 +01:00
Jordi Boggiano
4e0b8c1086
Update src/Composer/Console/Application.php
2021-01-27 09:17:25 +01:00
Ben Beckford
8eaae9f50a
Suppress error when chdir($oldWorkingDir); unsuccessful
...
resolves #9649
2021-01-26 20:48:19 +00:00
Jordi Boggiano
125f8a3319
Merge branch '1.10'
2021-01-26 15:56:49 +01:00
Jordi Boggiano
2cb9630320
Fix $_SERVER var not being updated when using putenv, refs b80038804f
and fixes #9372
2021-01-26 15:54:21 +01:00
Jordi Boggiano
6c346d00f3
Merge pull request #9617 from clxmstaab/merge-checkout-reset
...
GitDownloader: combine checkout + reset commands into a single process
2021-01-26 11:01:58 +01:00
Jordi Boggiano
471a63c206
Merge pull request #9465 from BR0kEN-/issues/9464
...
#9464 : ZipArchiver incorrectly treats `.gitignore` directory inclusions
2021-01-26 10:42:26 +01:00
Jordi Boggiano
5c35f37f92
Properly handle installed repos as additionalFixedRepository, fixes #9574
2021-01-26 09:41:20 +01:00
Jordi Boggiano
c800db04d3
Merge pull request #9616 from clxmstaab/fast-first
...
Filesystem: use fast operation first in emptyDirectory()
2021-01-17 15:01:05 +01:00
Jordi Boggiano
09bf5ec85c
Merge pull request #9615 from clxmstaab/is-dir
...
Filesystem: use is_dir() instead of file_exists() which is faster
2021-01-17 14:59:52 +01:00
Jordi Boggiano
c33f2615b5
Include json response bodies in transport exceptions, fixes #9606
2021-01-17 14:13:58 +01:00
Jordi Boggiano
7ea17d7db9
Merge remote-tracking branch 'naderman/curl-download-performance-select-not-sleep'
2021-01-17 12:50:53 +01:00
Markus Staab
62817a4cb2
fast operation first
2021-01-16 22:50:58 +01:00
Markus Staab
6774e7ee29
Filesystem: use fast operation first in emptyDirectory()
2021-01-16 22:45:41 +01:00
Markus Staab
8dfe45a026
GitDownloader: combine checkout + reset commands into a single process
...
use a single process instead of 3 to improve performance
2021-01-16 22:26:20 +01:00
Markus Staab
6552b85100
Filesystem: use is_dir() instead of file_exists() which is faster
...
this reproducible saves 1-2 seconds while running `COMPOSER_DISABLE_NETWORK=1 php
composer/bin/composer install -vvv --profile` on the rector/rector project
2021-01-16 22:03:52 +01:00
Nils Adermann
8a85a79b50
Remove debug output
2021-01-15 10:10:27 +01:00
Nils Adermann
f72ad485ef
Revert lastInfoUpdate change to keep full comaptibility to current behavior
2021-01-15 09:41:53 +01:00
Jordi Boggiano
de58c5499e
Always make the root package autoloadable when executing plugins, fixes #9530
2021-01-13 11:45:00 +01:00
Jordi Boggiano
147d884996
Also avoid matching .git suffix in bitbucket URLs, refs #9590
2021-01-13 11:38:45 +01:00
Nils Adermann
d665301368
Rewrite while if return as do while
2021-01-12 21:04:52 +01:00
Nils Adermann
c043fe841b
Remove sleeps from curl handling, select it is responsible for waiting
...
The current sleeps mean that large files download slowly as select would
return quickly when data has arrived and needs to be processed, but the
sleep waits while the buffers are full.
On the flipside we need to ensure that some code that would keep the CPU
busy if run too often does not get run every time select returns.
2021-01-12 17:52:53 +01:00
Jordi Boggiano
a20ee1a448
Avoid matching .git suffix if present in private github URLs, fixes #9590
2021-01-12 16:31:48 +01:00
Jordi Boggiano
4a740e3e61
Add warnings when running updates without curl enabled, fixes #9558
2021-01-12 14:56:17 +01:00
Jordi Boggiano
57117384df
Merge pull request #9601 from Seldaek/json-fix
...
Fix JSON manipulation issue with large files and jit enabled
2021-01-12 14:45:13 +01:00
Jordi Boggiano
492f8cb350
Add more possessive quantifiers
2021-01-12 14:05:55 +01:00
Jordi Boggiano
d94e638461
Fix tests and edge case
2021-01-12 14:00:02 +01:00
Jordi Boggiano
94076c0bb9
Make sure if plugins depend on the root package that the root package is also autoloaded correctly, refs #9530
2021-01-12 13:47:45 +01:00
Jordi Boggiano
598beb240a
CS fixes
2021-01-12 13:04:32 +01:00
Jordi Boggiano
92b3725765
Workaround issues when the additional fixed repo is in used and is an installed repo, closes #9574
2021-01-12 11:53:41 +01:00
Jordi Boggiano
b021647e6f
Fix JSON manipulation issue with large files and jit enabled, fixes #9595
2021-01-12 11:02:43 +01:00
Wissem Riahi
f7bf635440
Add response info for 3xx/4xx/5xx http responses
2021-01-08 11:28:35 +01:00
Jordi Boggiano
296bab1292
Merge pull request #9592 from wissem/add-response-duration-http-requests
...
Add response info for HTTP requests in CurlDownloader
2021-01-07 23:28:44 +01:00
Jordi Boggiano
7f85367113
Make sure an array is always returned
2021-01-07 23:26:29 +01:00
Wissem Riahi
bdecb4711d
Add all curl_getinfo into the response and exception for curl requests
2021-01-07 12:01:19 +01:00
Wissem Riahi
a5d79db0a7
Make sure total_time_us from curl progress is set
2021-01-06 18:01:06 +01:00
Wissem Riahi
370e082b4a
Add saving time duration for curl HTTP requests
2021-01-06 16:05:00 +01:00
Ilya Urvachev
cee8e3e3b7
fix `dirname` usage
2021-01-06 15:21:45 +03:00
Ilya Urvachev
ab6e0fa961
use `.tmp` extension for temporary files
...
also updated `catch` block to use temporary filename
2021-01-06 02:17:34 +03:00
Ilya Urvachev
e829ff80bc
feat(Cache): make cache writes more atomic
...
Fixes #9568
2020-12-29 23:57:29 +03:00
Jordi Boggiano
bad4e4edbc
Fix some more wording
2020-12-27 20:51:22 +01:00
Ali Shaikh
6f5c4fcf3e
Improving Composer self-update (version upto date) info message
2020-12-27 12:20:55 +05:00
Jordi Boggiano
bc31351b5b
Only show getting started warning for non-global composer load
2020-12-15 20:39:50 +01:00
Jordi Boggiano
eb9616a82b
Debug info improvements
2020-12-15 14:55:44 +01:00
Jordi Boggiano
378a5b72b9
More open_basedir fixes, refs #9541
2020-12-04 10:50:19 +01:00
Jordi Boggiano
f25271ee22
Add missing file to v1 phar
2020-12-04 09:05:58 +01:00
Jordi Boggiano
3eb419d2d0
Fix is_dir check to not fail on open_basedir restrictions, fixes #9541
2020-12-03 21:35:23 +01:00
Jordi Boggiano
29f4c0b92a
Merge branch '1.10'
2020-12-03 17:17:25 +01:00
Jordi Boggiano
7f3a56f39b
Merge pull request #9360 from naderman/pool-builder-unlock-consider-all-constraints
...
PoolBuilder: Ensure versions matching locked constraints get loaded
2020-12-03 16:59:39 +01:00
Fabien Villepinte
4e8ca92b6f
Fix error with binaries in PHP8
2020-12-02 13:15:16 +00:00
Michael Voříšek
b4cb2f7321
test before chdir
2020-11-30 01:34:16 +01:00
Michael Voříšek
e712130062
Fix for php8 when symlink function is disabled
2020-11-30 00:59:42 +01:00
Jordi Boggiano
1fb6b03e03
Fix a few edge cases in unpushed change handling
2020-11-26 16:03:38 +01:00
Jordi Boggiano
f86b3ad0fe
Make sure all remotes are checked for unpushed changes, fixes #9486
2020-11-26 15:42:39 +01:00
Jordi Boggiano
00aaffb8f9
Make cache writes atomic
2020-11-26 14:28:58 +01:00
Jordi Boggiano
62bd81bf7a
Make sure the default branch alias is never used as a constraint by the VersionSelector
2020-11-26 14:24:22 +01:00
Jordi Boggiano
d00edab884
Merge pull request #9477 from naderman/fix-alias-conflicts
...
Explicit conflicts should conflict with aliases of packages too
2020-11-26 13:59:57 +01:00
Jordi Boggiano
be3a520331
Fix feedback
2020-11-26 13:07:33 +01:00
Nils Adermann
7197278fe9
Always install aliases together with their original package
...
Restores some Composer 1.x behavior like unbound constraints conflicting
with default branches unless they are branch aliased.
Simplifies conflicts with aliases because packages cannot be installed
without their aliases, so we do not need to know which aliases are
uninstalled in lock file or installed.json.
2020-11-26 12:10:07 +01:00
Jordi Boggiano
e857a8216c
Make sure mirror update fails if no lock file is present
2020-11-26 11:28:17 +01:00
Jordi Boggiano
2d025dce05
Make sure mirror updates do not fail if there are dev requirements and new requires are present, fixes #9514
2020-11-26 11:27:44 +01:00
Jordi Boggiano
08f0af4623
Add docblocks to HttpDownloader, refs #9209
2020-11-25 15:44:59 +01:00
Jordi Boggiano
e8a3a33023
Also output headers
2020-11-25 12:40:05 +01:00
Jordi Boggiano
8030fbc4ae
Add debug info for http status code 0
2020-11-25 12:37:28 +01:00
Jordi Boggiano
b7d770659b
CS fixes
2020-11-22 14:52:39 +01:00
Jordi Boggiano
c7da7e55c9
Fix various issues with regard to schema conformity when modifying json, fixes #9515
2020-11-22 14:26:18 +01:00
Andrés De la Cruz
480a6439fd
Fix phpstan phpdocs issues ( #9478 )
2020-11-20 09:28:09 +01:00
Jordi Boggiano
9e279740cd
Go go phpstan 🤞
2020-11-19 11:28:12 +01:00
Jordi Boggiano
742c2a9e93
Avoid swallowing exceptions
2020-11-19 10:32:09 +01:00
Jordi Boggiano
35b403b266
Make sure a version not found issue is reported as such for clarity, fixes #9500
2020-11-19 09:39:03 +01:00
Jordi Boggiano
351b14e32b
Installed repo contains only the required versions but the aliases are not always present at the right time so avoid looking up plugin dependencies using a constraint as it may not find dev-* packages even though they are there, fixes #9499
2020-11-18 22:33:34 +01:00
Jordi Boggiano
f567fd69eb
List both unzip and zip ext presence in diagnose
2020-11-18 22:33:33 +01:00
Jordi Boggiano
5248d6c9f1
Improve curl error reporting some more
2020-11-18 21:36:33 +01:00
Jordi Boggiano
852990d06c
Make sure git gc runs if needed when syncing git mirrors in cache dir to avoid them getting very stale
2020-11-18 21:36:14 +01:00
Jordi Boggiano
6937fedaa9
Update user-agent to use cURL instead of curl, fixes #9492
2020-11-18 21:26:32 +01:00
Jordi Boggiano
4ac6f57d18
Add debug output when SIGINT is received
2020-11-16 22:42:21 +01:00
Jordi Boggiano
8ed2aa8d6d
Make sure curl errors without message are shown as code, and add URL linked to the failure
2020-11-16 22:41:19 +01:00
Nils Adermann
d19b858e20
Improve decisions debug output
2020-11-13 16:58:43 +01:00
Nils Adermann
780e6fc027
Avoid creating unnecessary conflict rules for provide/replace of aliases
2020-11-13 16:26:36 +01:00
Nils Adermann
3764b3007d
Explicit conflict rule generation needs to use pool->whatProvides
...
If relying on packages added by name in the generator aliases will be
skipped.
2020-11-13 16:01:54 +01:00
Jordi Boggiano
d6794217d9
Merge pull request #9475 from naderman/fix-alias-alt
...
Make sure the root aliases always get installed when a package is updated
2020-11-13 15:15:32 +01:00
Nils Adermann
27f200caf1
Create ROOT_ALIAS rules inside package rule generation
2020-11-13 15:08:09 +01:00
Nils Adermann
4215344c93
Rule generator cleanup: no need for 2 added package arrays, more specific root alias rule
2020-11-13 14:53:23 +01:00
Jordi Boggiano
595c4c6f75
Make sure we handle cases where STDIN/STDOUT may not be defined
2020-11-13 14:50:24 +01:00
Jordi Boggiano
b7e1383083
Make sure the alias package gets added to conflict rules etc, and only add it if aliased package is actually added
2020-11-13 14:16:37 +01:00
Jordi Boggiano
7b183956d8
Make sure the root aliases always get installed when a package is updated, fixes #9448
2020-11-13 13:52:21 +01:00
Jordi Boggiano
6ace5bb651
Make sure root aliases are marked as such also when loaded from lock file
2020-11-13 10:58:03 +01:00
Jordi Boggiano
cc536c7f45
Fix/normalize tty handling
2020-11-13 08:58:18 +01:00
Jordi Boggiano
4b4a3937ea
Make sure Loop abortJobs does not lose track of promises in case wait() is called within the scope of a wait(), refs #9463
2020-11-12 15:14:39 +01:00
Jordi Boggiano
b0d308319e
Extract POST_PACKAGE_* events to be executed all at once and not in parallel with async code to avoid edge cases, fixes #9463
2020-11-12 15:14:02 +01:00
Jordi Boggiano
45f7036745
Make sure the SOURCE_VERSION works with version_compare against 2.0.0
2020-11-12 15:12:46 +01:00
Sergii Bondarenko
abbc0e8a4e
#9464 : Remove wrapping slashes from the gitignore rules
2020-11-12 14:56:14 +02:00
Jordi Boggiano
e5a009ed80
Make sure empty objects are not left behind when removing requires/.. fixes #9462
2020-11-12 11:09:15 +01:00
Jordi Boggiano
dfca939f3b
Use proper type hint for local repo
2020-11-12 10:41:07 +01:00
Jordi Boggiano
b78b2df5bb
Reuse devPackageNames if available instead of filtering the dev packages out by looping through all requirements
2020-11-12 10:41:07 +01:00
Jordi Boggiano
b574f10d9d
Rename mainPackage to rootPackage in AutoloadGenerator and ensure we use RootPackageInterface
2020-11-12 10:41:06 +01:00
Jordi Boggiano
6a2f9870a7
Warn when init is being used non-interactively without any args passed in, instead of silently overwriting the file
2020-11-12 10:41:05 +01:00
Tom Klingenberg
258f6dc1a2
Reference co-relating code sequence for tty test, refs #9454
2020-11-11 20:27:38 +01:00
Jordi Boggiano
380dce9a6b
Make sure the IO is not interactive when not run in a tty, refs #9454
2020-11-11 16:30:50 +01:00
Jordi Boggiano
87006774b1
Avoid requiring a lock file to run composer remove, fixes #9439
2020-11-11 14:46:10 +01:00
Jordi Boggiano
4468248c46
Merge remote-tracking branch 'Serializator/reject-promise-on-exception-9424'
2020-11-11 14:35:08 +01:00
Jordi Boggiano
1496277697
Disable TTY mode if STDOUT is not a TTY, fixes #9454
2020-11-11 14:27:17 +01:00
Jordi Boggiano
00dfd2c8e1
Fix lock file being parsed when not strictly needed, fixes #9452
2020-11-11 11:57:08 +01:00
Jordi Boggiano
30b98915e9
Move Updating dependencies to the correct point, which is once we have the pool ready
2020-11-11 11:30:37 +01:00
Jordi Boggiano
fec44f883c
Always load the current InstalledVersions when writing to disk, fixes #9457
2020-11-11 10:47:54 +01:00
Jordi Boggiano
14d20776a2
Merge pull request #9449 from staabm/patch-3
...
Remove unnecessary overridden method
2020-11-10 17:05:05 +01:00
Markus Staab
bfafead42e
Fixed phpdocs
2020-11-09 21:22:23 +01:00
Markus Staab
e8ce5a3db6
Remove unnecessary overridden method
...
The method just called its parent without further logic
2020-11-09 20:45:40 +01:00
Jordi Boggiano
a825581ae2
Remove set_time_limit, fixes #9438
2020-11-09 14:23:24 +01:00
Julian van den Berkmortel
23a1d783db
Reject job within "HttpDownloader" when an exception is thrown, refs #9424
2020-11-08 21:53:07 +01:00
Jordi Boggiano
c362d001f1
Fix regression handling installs with custom installers not passing a fully qualified path to downloaders, fixes #9431 , fixes #9434
2020-11-07 11:17:22 +01:00
Jordi Boggiano
f31564ef5b
Fix check-platform-reqs --no-dev to not require lock anymore
2020-11-06 20:39:33 +01:00
Michaël Jacobs
611a9f5dab
Drop unused imports
2020-11-06 13:31:02 +01:00
Michaël Jacobs
c35a8e77c7
Fix missing directory separator in FileDownloader
2020-11-06 13:31:02 +01:00
Jordi Boggiano
3f6899946b
Avoid using curl when it has been disabled, fixes #9423
2020-11-06 12:55:54 +01:00
Jordi Boggiano
bc9336946e
Trim trailing slash in path downloader to avoid symlink issues, and in FileDownloader::getLocalChanges as we append a string without slash, refs #9422
2020-11-05 16:54:06 +01:00
Jordi Boggiano
c04c42b7b4
Merge branch '1.10'
2020-11-05 16:37:59 +01:00
Jordi Boggiano
444b91a3ce
Add docs, refs #9422
2020-11-05 16:37:51 +01:00
Jordi Boggiano
3ffdd67e81
Fix running compiler in CI env
2020-11-05 15:00:54 +01:00
Jordi Boggiano
22fef8c51a
Make sure no files are missing from the phar, fixes #9421
2020-11-05 14:55:18 +01:00
Jakub Bouček
8dc5effee7
AutoloadGenerator: Send error HTTP status on error
2020-11-05 09:57:48 +01:00
Jordi Boggiano
56c65a58e2
Make platform-check only check non-dev requires, refs #9412
2020-11-04 23:41:58 +01:00
Jordi Boggiano
8c1355f448
Improve output of platform check further in case errors are hidden
2020-11-04 22:28:17 +01:00
Jordi Boggiano
ec960d12b0
Merge remote-tracking branch 'jakubboucek/feature/jb-platform-check-tigger-error'
2020-11-04 21:54:12 +01:00
Jordi Boggiano
6c31744c04
Disable full platform-check for extensions by default, now set to php-only, refs #9412
2020-11-04 21:50:06 +01:00
Jordi Boggiano
fc0d724938
Allow configuring gitlab deploy tokens via config command, refs #9373
2020-11-04 21:36:03 +01:00
Jordi Boggiano
04aad524ec
Fix gitlab-domains/github-domains to avoid overwriting the default when another domain is configured, refs #9373
2020-11-04 21:32:32 +01:00
Jordi Boggiano
abd61369e4
Revert "Support git@bitbucket.org URLs for git-bitbucket driver", fixes #9400
...
This reverts commit 985cef790f
.
2020-11-04 21:18:40 +01:00
Jordi Boggiano
52faa3cdfb
Merge pull request #9388 from JasonStephensTAMU/remove-windows-junction
...
Remove Windows junctions first in PathDownloader
2020-11-04 21:05:57 +01:00
Jakub Bouček
3f63bc9205
AutoloadGenerator: Trigger native PHP error on platform checks fails
2020-11-04 12:28:14 +01:00
johnstevenson
cda49323eb
Remove CURLOPT_SSL_FALSESTART option. Fixes #9405
2020-11-04 11:05:50 +00:00
Jakub Bouček
b83b186ac0
AutoloadGenerator: Send error HTTP status on error
2020-11-04 11:18:21 +01:00
Stephan Vock
0747b072be
RemoteFileSystem: don't throw zlib error on empty response
2020-11-03 16:01:40 +00:00
Tanel Pipar
8f454c6708
Remove CWD from only the beginning of a path in ZipArchiver
...
Fixes https://github.com/composer/composer/issues/9403
2020-11-03 12:01:48 +02:00
Jason Stephens
f486da4578
Remove junctions first in PathDownloader
...
When removing a package from a Path repository, ensure Windows junctions
are handled first. This avoids a potential problem using realpath() when
comparing dist and install paths.
See https://bugs.php.net/bug.php?id=77639
2020-11-02 08:30:15 -06:00
Ondřej Mirtes
48b23b1607
Simplify code in FileDownloader.php
2020-11-02 15:10:57 +01:00
Jordi Boggiano
1bf2df19dd
Avoid cleaning up $path in downloaders if it is the CWD (create-project use case), refs #9396
2020-11-02 13:53:44 +01:00
Jordi Boggiano
6cb0aff417
Fix issue preventing cleanup of vendor dir when it is nested in the install path on Windows, fixes #9396
2020-11-02 13:53:43 +01:00
zorn
5aa90baab1
Add new lines to platform reqs issues
2020-11-01 23:39:06 +10:00
Jordi Boggiano
52f98fd228
Merge branch '1.10'
2020-10-30 17:56:22 +01:00
Marco Sirabella
7f936d7dbc
Ignore failures on preg_match for user supplied regex
...
Fixes #7440
See: https://stackoverflow.com/a/12941133/6381767
2020-10-30 17:56:18 +01:00
Jordi Boggiano
36a9c47830
Fix typo from a637072058
2020-10-30 17:52:29 +01:00
Jordi Boggiano
a637072058
Fix canUseCurl logic to allow local_cert/local_pk to reach curl, refs #9384
2020-10-30 17:48:54 +01:00
Jordi Boggiano
ce7cc3b444
Merge remote-tracking branch 'rtm-ctrlz/master'
2020-10-30 17:48:07 +01:00
Jordi Boggiano
0a356b8a39
Merge branch '1.10'
2020-10-30 17:30:33 +01:00
Jordi Boggiano
78797df5f8
Fix bitbucket handling, fixes #9369
2020-10-30 17:28:30 +01:00
Jordi Boggiano
d25e66ad53
Display auth again for an origin if the auth type changes
2020-10-30 17:15:40 +01:00
Jordi Boggiano
985cef790f
Support git@bitbucket.org URLs for git-bitbucket driver
2020-10-30 17:15:25 +01:00
Jordi Boggiano
1d7ed333c9
Make sure curl is only used when safe to do so, fixes #9381
2020-10-30 16:20:50 +01:00
Jordi Boggiano
8f9486b20e
redirects are handled in userland now so no need for this hack anymore
2020-10-30 15:30:19 +01:00
Jordi Boggiano
e0e4d60166
Fix check-platform-reqs to be more clear about what is going on, and add a --lock flag to allow explicitly checking from lock
2020-10-30 15:05:29 +01:00
Ilia Urvachev
4faaf79b58
CurlDownloader enable support for SSL-client certificates
2020-10-30 17:03:21 +03:00
Jordi Boggiano
3f8f549352
Add new flag to ConfigSourceInterface as most likely there are no implementors anyway
2020-10-30 14:22:57 +01:00
Jordi Boggiano
f2f3b03fec
Fix config/create-project handling of repositories to prepend them by default as this is most likely the goal, fixes #9371
2020-10-30 14:16:40 +01:00
Jordi Boggiano
ffc0f86fc0
Fix warnings in composer require to show when repo prio is at fault, refs #9371
2020-10-30 14:16:40 +01:00
Jordi Boggiano
41daf69c87
Merge pull request #9379 from glaubinix/f/zip-util
...
Zip: ignore mac osx specific folder when searching for composer.json
2020-10-30 10:48:31 +01:00
Jordi Boggiano
34bdc6cbf2
Detect and hint for solutions for common curl errors, fixes #9376
2020-10-30 09:56:58 +01:00
Stephan Vock
d97c37f103
Zip: ignore mac osx specific folder when searching for composer.json
2020-10-29 22:30:12 +00:00
Jordi Boggiano
472f78bff1
Auto-disable misbehaving curl downloader on php 5, refs #9002
2020-10-29 22:39:26 +01:00
johnstevenson
095d133d6b
Remove fulluri checks and tidy diagnose output
2020-10-29 10:28:51 +00:00
Nils Adermann
2d91fbc65a
PoolBuilder: never mark skipped packages for loading
...
Reorder code in loadPackage to avoid duplicate calls
2020-10-28 14:07:04 +01:00
Nils Adermann
7ddd1c64af
PoolBuilder: On unlock ensure consider all locked requirements for unlocked package
2020-10-27 22:10:15 +01:00
Jordi Boggiano
90a6aa7ec0
Make sure we compare packages to their latest without aliases, fixes #9357
2020-10-27 21:04:00 +01:00
Jordi Boggiano
04e5d725f4
Add docs
2020-10-27 20:53:54 +01:00
Jordi Boggiano
ff74d0e686
Fix lock file generation with dev-master aliases to be compatible with Composer 1, fixes #9337
2020-10-27 20:50:26 +01:00
Nils Adermann
7dc67fbbad
Problem: Update fallback error message for requires without matches
2020-10-27 17:11:24 +01:00
Jordi Boggiano
881ec8c751
Use httpdownloader/curl to process install notifications
2020-10-27 13:50:03 +01:00
Jordi Boggiano
d699e6b36c
Make sure global plugins are described as such in loading output, fixes composer/package-versions-deprecated#15
2020-10-27 09:36:59 +01:00
Jordi Boggiano
5d4bcde454
Allow using --locked with the outdated command directly, fixes #8025
2020-10-26 14:47:52 +01:00
Nils Adermann
289972a177
Remove useless null check, follow up to #9345
2020-10-26 13:29:23 +01:00
Jordi Boggiano
3772696ad6
Use IO for output
2020-10-26 12:34:27 +01:00
Nils Adermann
cbcc3a3080
Remove trailing commas for function calls
2020-10-26 11:42:41 +01:00
Fabien Potencier
d5245387f3
Fix error message
2020-10-26 10:04:10 +01:00
Nils Adermann
b72dc7bb78
Clarify --lock option on update further
...
Specifically state packages do not get updated to new versions, only metadata is updated.
2020-10-25 22:42:50 +01:00
Jordi Boggiano
860a67b776
Update --lock docs, fixes #9315
2020-10-25 22:25:59 +01:00
Jordi Boggiano
4b8c2aa121
Fix default version to be semver parseable, fixes #9342
2020-10-25 22:22:19 +01:00
Jordi Boggiano
5bdb0cfff5
Merge pull request #9339 from Seldaek/fix-plugin-order
...
Fix plugin install order for plugins modifying downloads
2020-10-25 21:28:38 +01:00
Jordi Boggiano
769ce48289
Fix typo
2020-10-25 21:25:56 +01:00
Jordi Boggiano
0543b59e06
Merge pull request #9334 from johnstevenson/proxy-streams
...
Improve proxy error messages for streams
2020-10-25 14:13:40 +01:00
Jordi Boggiano
e770cb4dcf
Fix var name
2020-10-25 14:11:02 +01:00
Jordi Boggiano
2d4e1e0dce
Make sure Transaction sorts operations correctly to begin with
2020-10-25 14:06:45 +01:00
johnstevenson
c99e19db64
Fix logic (again)
2020-10-25 12:59:01 +00:00
Jordi Boggiano
dc88236c07
Make sure operations are executed in batches, including downloads, when a plugin is present which modifies downloads, fixes #9333
2020-10-25 13:49:31 +01:00
Jordi Boggiano
8925b4f596
Attempt fixing handling of root aliases when composer 1 reads composer 2 lock files, fixes #9337
2020-10-25 12:45:33 +01:00
Helmut Hummel
d1dfd394c1
Correctly avoid partial updates in require commands
...
The installer does not support partial updates, when
no lock file is present. The check in require command
to prevent a partial update however does not check whether
a lock file is present, but whether a lock file should be written,
which most likely always is true.
This check is now changed to check if a lock file is actually present.
2020-10-24 21:34:34 +02:00
Jordi Boggiano
9bfddadf3d
Make sure no unknown files get excluded from the phar, fixes #9331
2020-10-24 20:49:07 +02:00
johnstevenson
2a913c7a68
Improve proxy error messages for streams
2020-10-24 18:20:31 +01:00
Jordi Boggiano
b4f0f4ddd2
Fix php8 file being missing from phar, refs #9331
2020-10-24 14:58:05 +02:00
Jordi Boggiano
191196de48
Detect broken packagist.org mirrors and fix them on the fly, refs #9297
2020-10-24 11:10:08 +02:00
Jordi Boggiano
62eff8e979
Tweaks to new proxying code, refs #9324
2020-10-24 10:36:39 +02:00
Jordi Boggiano
62fd612e63
Merge remote-tracking branch 'johnstevenson/curl-proxy'
2020-10-24 10:22:52 +02:00
Jordi Boggiano
0d236858ec
Merge branch '1.10'
2020-10-24 09:59:46 +02:00
Jordi Boggiano
25496c199d
Update link to composer 2 release notes
2020-10-24 09:43:02 +02:00
Jordi Boggiano
28c7e38411
Merge remote-tracking branch 'stof/fix_why_not' into 1.10
2020-10-24 09:39:09 +02:00
johnstevenson
d47261eb93
Refactor proxy handling for Composer2
2020-10-23 21:38:29 +01:00
Nils Adermann
e868996bdd
Validate: Warn about providing or replacing packages you require
2020-10-23 22:02:13 +02:00
Jordi Boggiano
8564dd8dac
Allow Url::sanitize to escape URLs without scheme
2020-10-23 13:27:46 +02:00
johnstevenson
8feb83b22b
Remove duplicate StreamContextFactory ssl options
...
Added in Dec 2014 (commit 8dad846
), superseded in Jan 2016 (pr #4759 )
2020-10-23 13:25:17 +02:00
Jordi Boggiano
49a28f606c
Merge branch '1.10'
2020-10-23 10:38:03 +02:00
Christophe Coevoet
3dd7e829b9
Fix support of provided packages in the why-not command
...
The version provided by such a rule is defined by the constraint of the
rule, not by the package version.
2020-10-22 19:54:03 +02:00
Nils Adermann
dacc21e54f
Merge pull request #9158 from infabo/patch-1
...
Fix symlink check
2020-10-22 16:04:27 +02:00
terry.kern
0466add822
Also use channel string for update message
...
https://github.com/composer/composer/pull/9305#issuecomment-714381153
2020-10-22 14:41:16 +02:00
TerryKern
e68b52697b
Improve readability of version info message
...
Instead of:
> You are already using composer version 1.10.15 (1 channel).
it shows:
> You are already using composer version 1.10.15 (1.x channel).
2020-10-22 11:54:59 +02:00
Nils Adermann
6409ed0fc2
Validate: Warn about providing or replacing packages you require
2020-10-22 11:28:19 +02:00
Jordi Boggiano
b74afd772b
Merge pull request #9309 from naderman/fix-solver-9290
...
MultiConflictRule conflict analysis handling on level 1 decisions
2020-10-21 18:40:03 +02:00
Nils Adermann
9338401be7
CS: Typehint array, remove unnecessary docblock, call spl_object_hash once
2020-10-21 18:11:24 +02:00
Nils Adermann
7b4cb9c370
Solver: Prevent infinite recursion in analyzeUnsolvableRule
...
In complex scenarios reasons for learned rules can themselves be learned
rules caused by other learned rules which had the some of the same
reasons. In this situation iterating over all problem rules requires
keeping track of which rules have previously been analyzed to avoid and
endless loop.
Side effect is that the sorting of problems including learned rules
changes slightly.
2020-10-21 17:11:13 +02:00
Nils Adermann
9641ad6025
SolverProblemException: Hide learnt rules on output
...
Results in too much error output which is not helpful. Very repetitive
and hard to understand. In issue 8903 even leads to endless recursion
bug.
2020-10-21 14:08:12 +02:00
Nils Adermann
7f41698157
Solver: on analyze, when reaching last decision > l1 skip other multi rule literals
2020-10-21 13:36:31 +02:00
Jordi Boggiano
14ec957e96
Fix composer show -a usage, fixes #9304
2020-10-20 17:34:07 +02:00
Jordi Boggiano
99a5469b5e
More hints
2020-10-18 13:13:44 +02:00
Chauncey McAskill
1bb87babe6
Fix availability of $urls in FileDownloader
...
Fixed:
- Ensure manipulations to the first element of $urls in the $download callback are available in $accept and $reject
2020-10-15 16:11:16 -04:00
Jordi Boggiano
c46b75de81
Allow any non-numeric version to be used for flex as we can not establish if they are compatible
2020-10-15 16:16:00 +02:00
Jordi Boggiano
59acf9d4aa
Remove dev hint for 2.0, fixes #8738
2020-10-15 14:40:27 +02:00
Ingo Fabbri
750172dc4c
Fix symlink check
...
Given you have a symlink in one of your path repositories and mirroring-strategy enabled.
```bash
lrwxrwxrwx 1 inf inf 8 27. Aug 17:41 Create.html -> New.html
-rw-r--r-- 1 inf inf 750 27. Aug 17:24 Edit.html
-rw-r--r-- 1 inf inf 0 27. Aug 17:24 List.html
-rw-r--r-- 1 inf inf 5064 27. Aug 17:24 New.html
-rw-r--r-- 1 inf inf 716 27. Aug 17:24 Show.html
```
`$file->getLinkTarget()` just returns a relative path in this example. It does not return an absolute normalized path.
`$sources` is always a normalized path.
`strpos` can never be `0`.
Use `$file->getRealPath()` to fix the strpos-check.
2020-10-15 14:17:53 +02:00
Jordi Boggiano
2ca2ec3d0a
Allow loading flex main branch
2020-10-15 09:53:12 +02:00
Jordi Boggiano
743d551399
Fix using show command to show platform packages, and allow using it to show replacers too by using the replaced name, fixes #7628
2020-10-14 17:58:35 +02:00
Jordi Boggiano
8d0596163c
Rename abstract class back to the previously present SolverOperation, mark it internal, reintroduce some duplication
2020-10-14 17:53:57 +02:00
Bezpiatov
140de5480d
Fixed variable usage
2020-10-14 17:58:39 +03:00
Bezpiatov
9a5121ed27
Refactor Operation classes to use constants instead of strings for comparison
2020-10-14 17:56:42 +03:00
Jordi Boggiano
e7d99c37b3
Fix show --locked to avoid listing all the things
2020-10-14 15:41:53 +02:00
Jordi Boggiano
da1357c663
Avoid showing alias versions in show command, show the original version
2020-10-14 15:41:36 +02:00
Jordi Boggiano
9492dc7f7c
Make sure symfony/flex does not get loaded in a buggy version to avoid bogus issue reports
2020-10-14 13:48:55 +02:00
Jordi Boggiano
c5d8a13bc4
Bump curl timeout to 300
2020-10-14 13:30:12 +02:00
Jordi Boggiano
34dd9e19e1
Add curl/zip ext info to diagnose command
2020-10-14 13:29:41 +02:00
Nils Adermann
8a2bae82ab
Improve docblocks on fixed/locked/fixedLocked packages in request
...
Also fixes two small code review issues
2020-10-14 11:46:13 +02:00
Nils Adermann
fdde9e5933
On composer install we fix locked packages, but consider them locked for error reporting
2020-10-14 11:46:13 +02:00
Nils Adermann
74fb313c39
Separate locked packages from fixed packages in request
...
Locked packages are basically like removable fixed packages, so we still
only load one version, but we do not require their installation unless
something the user needs requires their use. So they automatically get
removed if they are no longer needed on any update.
2020-10-14 11:46:13 +02:00
Nils Adermann
73e24ea9fb
Partial updates should remove all unused dependencies
...
Instead of marking locked packages as fixed, we change the pool builder
to load only the locked version and treat it like a fixed package, but
removing the actual request fix, makes the solver treat it as a regular
optional dependency. As a consequence locked packages may be removed on
a partial update of another package, but they cannot be updated.
2020-10-14 11:46:13 +02:00
Nils Adermann
85eb007f4f
Transaction: Define a total order on packages to keep behavior on PHP8
...
So far the ordering of alias packages with the same name was undefined
so the actual order was determined by implementation of the sorting
algorithm in PHP. As of PHP8 sort is stable by default which changes the
outcome in some of our test cases.
With the fully defined total order the order can longer change depending
on sorting algorithm used and remains the same across PHP versions.
2020-10-14 11:13:51 +02:00
Jordi Boggiano
9ca7457698
Check whether remove command successfully removed the target packages, fixes #6998
2020-10-13 16:18:28 +02:00
Jordi Boggiano
7ea6d5d2e7
Merge branch '1.10'
2020-10-13 16:00:04 +02:00
Jordi Boggiano
aac1a25ee3
Merge pull request #9278 from Seldaek/plugin-helpers
...
Plugin helpers for v2
2020-10-13 15:49:23 +02:00
Nicolas Grekas
4feed8b85c
Fix parsing "branch-version"
2020-10-13 15:43:12 +02:00
Jordi Boggiano
bafdf9f705
Merge branch '1.10'
2020-10-13 14:47:23 +02:00
Jordi Boggiano
d2d606ced2
Merge pull request #9273 from nicolas-grekas/dev-version
...
Add support for "extra.branch-version"
2020-10-13 14:02:41 +02:00
Nicolas Grekas
893fbfcb89
Add support for "extra.branch-version"
2020-10-13 13:56:18 +02:00
Jordi Boggiano
8ad33298ff
Fix regression, refs #9204
2020-10-13 12:50:58 +02:00
Jordi Boggiano
badd1f2146
Remove silly default values of false on Installer class, refs #9204
2020-10-13 12:33:43 +02:00
Jordi Boggiano
24abd233ec
Merge branch 'master' into code-improvements
2020-10-13 12:23:13 +02:00
Jordi Boggiano
3c25d180e6
Add detailed notes about events in upgrade guide, add COMPOSER_DEBUG_EVENTS env var for debugging events
2020-10-13 12:08:42 +02:00
Jordi Boggiano
f87b1642bc
Expand docs
2020-10-13 11:09:13 +02:00
Jordi Boggiano
431dc0d526
Add sync helper to give plugins utilities to work with async stuff more easily when one does not care about async
2020-10-13 11:04:16 +02:00
Jordi Boggiano
7917a7e757
Allow fetching the http downloader and process executor from the loop
2020-10-13 10:28:36 +02:00
Jordi Boggiano
0775e261c5
Merge remote-tracking branch 'lstrojny/apcu-prefix'
2020-10-13 10:19:30 +02:00
Jordi Boggiano
a1b781a302
Merge pull request #9220 from ffraenz/pr
...
Composer 2: Adapt file download cache keys to changed processed URLs
2020-10-12 16:55:35 +02:00
Jordi Boggiano
adeabdbd56
Merge branch '1.10'
2020-10-12 15:22:30 +02:00
Jordi Boggiano
bc1cb1636d
Remove dead code, fixes #9277
2020-10-12 15:22:21 +02:00
Jordi Boggiano
09ef026d43
Remove OperationInterface::getReason, closes #9230 , closes #9263
2020-10-12 12:31:54 +02:00
Jordi Boggiano
d204eb4814
Merge branch '1.10'
2020-10-12 10:54:43 +02:00
Jordi Boggiano
6bf136489f
Ignore the COMPOSER env var when executing global scope commands, fixes #9259
2020-10-12 10:53:35 +02:00
Jordi Boggiano
9c4b00be67
Add -w/-W to docs, refs #9257
2020-10-12 10:36:12 +02:00
Jordi Boggiano
de3de0697e
Merge pull request #9257 from flavioheleno/improv/short-with-deps
...
With-dependencies alias
2020-10-12 10:29:07 +02:00
Jordi Boggiano
6f77c5f5ea
Avoid adding aliased locked packages twice in the LockArrayRepository, fixes #9240
2020-10-12 10:17:06 +02:00
Jordi Boggiano
9528ce7057
Fix invalid usage of Link class, fixes #9252
2020-10-12 09:22:23 +02:00
Jordi Boggiano
f966de94a9
Merge branch '1.10'
2020-10-12 08:33:39 +02:00
Jordi Boggiano
159bb84fa6
Allow running the config command to disable tls even if openssl is not present, fixes #9198
2020-10-12 08:16:36 +02:00
Jordi Boggiano
28fe3baf9c
Disable secure-http automatically when disable-tls is enabled, fixes #9235
2020-10-12 07:57:14 +02:00
Jordi Boggiano
03b8c3db3f
Merge branch '1.10'
2020-10-08 14:38:41 +02:00
Jordi Boggiano
791bbc80a4
Backport some fixes from 2.0, and fix sorting to sort remote branches after local ones, refs #9270
2020-10-08 14:26:04 +02:00
Jordi Boggiano
6698e0bafa
Merge remote-tracking branch 'naderman/version-guess-remotes' into 1.10
2020-10-08 14:01:25 +02:00
Nils Adermann
b3c465d55a
VersionGuesser: local branches still need to be considered
2020-10-07 15:10:20 +02:00
Nils Adermann
ad643d9957
VersionGuesser: Analyze remote origin and upstream branches too
2020-10-07 14:21:22 +02:00
Fränz Friederes
369c2ff552
Implement PR code style feedback
2020-10-05 20:52:27 +02:00
Grégoire Pineau
bfb4abfb56
Fixed description of StatusCommand: It do list all changes in vendor, not only for "source" ones
...
I tested it, and even with "dist" packages, the status command is able to find modified vendor
(And that's amazing, thanks)
2020-10-02 10:11:47 +02:00
Flavio Heleno
9d544d98b3
Added short flags for 'with-dependencies' and 'with-all-dependencies'
2020-10-01 18:35:35 -03:00
Graham Campbell
0eb31bd027
Fixed incorrect private annotation
2020-10-01 20:24:19 +01:00
Simon Berger
2223b93efd
Several small code improvements
2020-09-26 00:55:19 +02:00
Simon Berger
80d71ccb3f
Merged isset, unset and str_replace calls
2020-09-26 00:55:19 +02:00
Jordi Boggiano
d6b39b4c55
Fix syntax error & improve handling
2020-09-24 11:35:38 +02:00
Christophe Coevoet
bcd8a73e8c
Fix support for running diagnose without openssl
...
The diagnose command already warns when openssl is not available. But the command was failing later when displaying the Openssl version.
2020-09-22 18:49:53 +02:00
Michael Telgmann
a4509d28e7
Introduce constants for Composer\Package\Link types
2020-09-21 14:22:06 +02:00
Michael Telgmann
4f4c299015
Add pretty constraint to links in PlatformRepository
...
fixes #9210
2020-09-21 14:18:34 +02:00
Jordi Boggiano
2a36c3a70a
Minor tweaks
2020-09-21 13:26:53 +02:00
Simon Berger
4e8a36556c
Removed deprecated code from 1.x
2020-09-20 17:59:45 +02:00
Simon Berger
974e7ba296
Removed unneccesary elseifs
2020-09-20 02:16:28 +02:00
Simon Berger
80a75e9959
Minor code improvements
2020-09-20 02:16:28 +02:00
Simon Berger
7053b6f761
Fixed function case declaration <> call
2020-09-20 02:16:28 +02:00
Simon Berger
33d7a64df9
Removed unused private functions
2020-09-20 02:16:28 +02:00
Simon Berger
a6475a7118
Removed unused variables, properties and parameters of private functions
2020-09-20 02:16:28 +02:00
Simon Berger
002fd39bc6
Removed passing of parameters with default value
2020-09-20 02:16:28 +02:00
Simon Berger
cda6e8bea6
Removed unnecessary property initialization or declaration
2020-09-20 02:16:28 +02:00
Simon Berger
6b3b51e299
Fixed $this usage on static functions
2020-09-20 02:16:28 +02:00
Fränz Friederes
7a49cda9f6
Fix PHPDoc types on new PreFileDownloadEvent property
2020-09-16 20:13:20 +02:00
Lars Strojny
696f27ca83
Enable APCu if prefix is set
2020-09-16 13:44:51 +02:00
Fränz Friederes
a1a3e29f52
Fix using inside anonymous function
2020-09-16 11:39:34 +02:00
Lars Strojny
6899060f6e
Remove superfluous use
2020-09-16 10:54:52 +02:00
Fränz Friederes
57e1ce6cdb
Change the file download cache key with the processed URL, implement custom cache key
2020-09-16 10:54:14 +02:00
Lars Strojny
7db8b33a9e
Restore
2020-09-16 10:53:55 +02:00
Lars Strojny
0b6abf3b96
APCu prefix as a separate option
2020-09-16 10:49:00 +02:00
Lars Strojny
de0085767c
Sanitize prefix
2020-09-15 12:39:22 +02:00
Lars Strojny
dafd225a35
Allow to pass a string for apcu-autoloader to set the APCu prefix
2020-09-14 22:36:53 +02:00
Jordi Boggiano
99300f6dc0
Merge pull request #9206 from staabm/patch-3
...
Improve error message further
2020-09-14 21:25:21 +02:00
Markus Staab
cf9786f112
Improve error message further
2020-09-12 11:13:37 +02:00
Simon Berger
74e02193a8
Do not hard fail on lazy repository when network is disabled and no package cache exists
2020-09-11 21:35:20 +02:00
Jordi Boggiano
6cf4ba051c
Update messaging about plugin errors
2020-09-11 13:43:32 +02:00
Jordi Boggiano
bb96b04f4a
Remove dead code
2020-09-10 16:05:31 +02:00
Jordi Boggiano
2a82371adf
Rename available-package-regexes to available-package-patterns and switch negated function around, refs #9197
2020-09-10 14:58:05 +02:00
Mike Baynton
66a767c065
specify covered names with regexes in 2.x repos
...
This supplements the available-packages list so that repositories may
rule themselves out of a given name (and thus not be probed with lazy
load requests) by regex, as well as by exact name match.
The use case is sizeable and varying supplemental Composer repositories
such as packages.drupal.org, which otherwise must either maintain a list
of over 10k package names in their root packages.json or accept lots of
lazy-load requests for unrelated packages that will 404.
2020-09-09 21:43:46 -05:00
Jordi Boggiano
0408207e35
Merge branch '1.10'
2020-09-09 11:49:04 +02:00
Jordi Boggiano
4a02768591
Fail hard if an invalid root alias is detected
2020-09-09 11:44:05 +02:00
Jordi Boggiano
6f91e038ea
Merge branch '1.10'
2020-09-08 17:04:03 +02:00
Jordi Boggiano
c6d0309d48
Merge pull request #9188 from simonberger/fix-php53-closure-self-usage
...
Fix self usage in closures results in fatal error on PHP 5.3
2020-09-08 12:12:59 +02:00
Simon Berger
7ef87626ac
Fixed self usage in closure fails on PHP 5.3
2020-09-08 12:01:51 +02:00
Jordi Boggiano
57b4016f8a
Show default value instead of optional, refs #9181
2020-09-08 12:01:10 +02:00
Jordi Boggiano
5555b04cea
Merge pull request #9181 from shrink/feature/create-project-package-prompt
...
✨ Ask for target directory when using `create-project`
2020-09-08 11:56:22 +02:00
Jordi Boggiano
7859fe72e8
Fix line wrapping
2020-09-08 11:15:24 +02:00
Jordi Boggiano
9dc125f79c
Fix cleanup of useless feature_versions
2020-09-08 11:14:13 +02:00
Simon Berger
bae227ec2d
Changed all substr calls used to compare fragments of text to strpos
...
Some additional code cleanups in those classes
Reverted change causing issues
2020-09-07 21:08:34 +02:00
Jordi Boggiano
8694077564
Merge pull request #9177 from simonberger/reduce-requests
...
Re-Fetch cached packages only once in a run
2020-09-07 17:01:46 +02:00
Jordi Boggiano
cb3c71a18a
Always assume the cache file is fresh when loading a package again which was already loaded, even if it lacks a last-modified header.
2020-09-07 17:00:02 +02:00
Jordi Boggiano
943c7a6433
Merge pull request #9165 from bpesch/master
...
Performance improvements
2020-09-07 16:25:14 +02:00
Jordi Boggiano
b8ebc7be5f
Revert a few changes to ConfigCommand
2020-09-07 16:24:15 +02:00
Jordi Boggiano
b1cbc08ec0
Allow false as well as repository value, refs #9165
2020-09-07 16:22:28 +02:00
Jordi Boggiano
cc1874e21b
Merge pull request #9179 from simonberger/fix-duplicated-code
...
Moved duplicated table render code to a new method in BaseCommand
2020-09-07 15:52:17 +02:00
Jordi Boggiano
45653c55d8
Handle authentication for api domains of GitHub/Bitbucket, fixes #9173
2020-09-07 15:29:41 +02:00
Jordi Boggiano
e6b45e853a
Fix status command handling of symlinks, and especially broken ones, fixes #9169
2020-09-07 13:54:14 +02:00
Jordi Boggiano
199696d120
Fix undefined method call
2020-09-07 11:42:24 +02:00
Jordi Boggiano
070530534d
Merge pull request #9176 from glaubinix/t/remote-file-system-response-decode
...
Composer2 RemoteFileSystem: response decode for TransportException
2020-09-04 13:13:51 +02:00
Stephan
32a0563443
RemoteFileSystem: catch decode errors for content length mismatch
2020-09-04 11:33:36 +01:00
Jordi Boggiano
fc462ab978
Merge branch '1.10'
2020-09-04 12:18:24 +02:00
Jordi Boggiano
b159e4da7e
Merge pull request #9172 from Toflar/platform-repo-cleanup
...
Consistently reuse new PlatformRepository::isPlatformPackage()
2020-09-04 12:16:55 +02:00
Alexander M. Turek
fc961dce70
Call call_user_func_array() with a numeric arguments array.
2020-09-03 23:26:09 +02:00
Samuel Ryan
a66db48673
✨ Ask for target directory when using `create-project`
2020-09-03 17:40:09 +01:00
Simon Berger
687f886d56
Moved duplicated table render code to a new method in BaseCommand
2020-09-03 15:56:04 +02:00
Simon Berger
9516d0dc98
Re-Fetch cached packages only once in a run
2020-09-03 08:18:07 +02:00
Stephan
3b2d91975e
RemoteFileSystem: response decode for TransportException
2020-09-02 16:55:37 +01:00
Yanick Witschi
bd6f62c535
Consistently reuse the new PlatformRepository::isPlatformPackage() method
2020-09-01 17:19:19 +02:00
Nils Adermann
4ac9f44571
Clear up PoolBuilder comment after code move
2020-09-01 16:57:24 +02:00
Stephan
773635e355
ComposerRepository: avoid notice if includes do not provide a sha1
2020-09-01 12:21:36 +01:00
Nils Adermann
7b990f3767
PoolBuilder: Move merging of constaints to be loaded into relevant section
2020-09-01 12:28:22 +02:00
Nils Adermann
b2670945bd
PoolBuilder: clear up comment, matching and identity are different for constraints
2020-09-01 12:23:51 +02:00
username
fc87caf639
Provide correct parameter data type
2020-08-29 21:21:15 +02:00
username
113adbcd87
Sort conditions by cost
2020-08-29 21:20:30 +02:00
username
98462292c0
Sort conditions by cost
2020-08-29 21:19:52 +02:00
username
abedc0dc42
Sort conditions by cost
2020-08-29 21:19:20 +02:00
username
17ae93bc9c
Remove unnecessary method call
2020-08-29 21:18:31 +02:00
username
18009af023
Inline variable
2020-08-29 21:16:58 +02:00
username
e719be501e
Remove unnecessary method call
2020-08-29 21:15:52 +02:00
username
459e2473c8
Remove unused variable
2020-08-29 21:15:15 +02:00
username
3f09ae0737
Simplify duplicate case
2020-08-29 21:13:54 +02:00
username
46cc387598
Split workflows
2020-08-29 21:12:07 +02:00
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
2020-08-28 14:52:58 +02:00
Yanick Witschi
a1e1cd8fa4
Do not trigger Intervals::isSubsetOf() over and over again for platform packages
2020-08-28 14:34:50 +02:00
Jordi Boggiano
f18d91bd58
Fix pre/post-package-install/update/uninstall events receiving a partial list of operations, fixes #9079
2020-08-27 11:25:43 +02:00
Jordi Boggiano
c3db4614c9
Also remove credentials from cache dirs in git/svn drivers, fixes #7439 , refs #9155
2020-08-27 10:19:23 +02:00
Jordi Boggiano
98862f5408
Merge pull request #9155 from Ayesh/hide-passwords-cache
...
Sanitize repo URLs to mask HTTP auth passwords from cache directory
2020-08-27 10:12:56 +02:00
Jordi Boggiano
9e77514764
Merge pull request #9156 from Ayesh/gitlab-repos
...
AuthHelper: Allow fall-through GitLab-specific HTTP headers for auth
2020-08-27 10:06:28 +02:00
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.
2020-08-27 12:13:28 +07:00
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.
2020-08-26 23:01:00 +07:00
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.
2020-08-26 17:23:10 +03:00
Jordi Boggiano
9a04ecefbf
Merge branch 'master' into filter-packages
2020-08-25 16:51:28 +02:00
Jordi Boggiano
f516d36f6f
Make sure Request::requireName can not be called twice for the same name
2020-08-25 15:37:28 +02:00
Jordi Boggiano
90332f1dbd
Add a readonly mode to the cache, fixes #9150
2020-08-25 13:55:32 +02:00
Jordi Boggiano
875a4784ed
Reorg config class a little
2020-08-25 13:54:29 +02:00
Jordi Boggiano
6186c7f36f
Fix handling of root aliases in partial updates, fixes #9110
2020-08-25 11:05:28 +02:00
Jordi Boggiano
05e9fe936f
Merge branch '1.10'
2020-08-25 08:59:07 +02:00
Jordi Boggiano
b847c4dc3a
Validate licenses correctly even when proprietary is combined with some other license, fixes #9144
2020-08-25 08:58:43 +02:00
Stephan
d140a842fa
RemoteFilesystem: avoid warning when setting max file size
2020-08-24 13:53:07 +01:00
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
2020-08-23 16:52:55 +02:00
Jordi Boggiano
448daea696
Add support for detecting packages not matching only due to minimum stability
2020-08-23 16:48:07 +02:00
Jordi Boggiano
e5ba99cf67
Merge branch '1.10'
2020-08-23 15:18:48 +02:00
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
2020-08-23 13:37:12 +02:00
Stephan
a16f32484b
Downloader: add a max_file_size to prevent too big files to be downloaded
2020-08-22 19:37:42 +01:00
Oleg Andreyev
f262feebec
fixing error message for higher repository priority, when higher repo has only a dev-branch
2020-08-22 20:07:13 +03:00
Lars Strojny
a83588f568
The proper fix
2020-08-18 16:30:47 +02:00
Lars Strojny
4e06aa051a
Check if inet_pton() exists
2020-08-18 16:00:44 +02:00
johnstevenson
3be62a9fda
Fix openssl_free_key deprecation notice in PHP 8
2020-08-14 17:45:41 +01:00
Jordi Boggiano
00e268cdbf
Clear Intervals cache when we are done with it
2020-08-13 16:45:43 +02:00
Markus Staab
fdff3aeaba
emit github action formatted error messages ( #9120 )
2020-08-13 16:37:32 +02:00
Jordi Boggiano
c845d66818
Lowercase ext- package names, refs #9093
2020-08-13 15:48:41 +02:00
Jordi Boggiano
4d20e6f5d6
Move Version util to Platform namespace, fix CS nitpicks, make regexes case insensitive for robustness, refs #9093
2020-08-13 15:48:41 +02:00
Jordi Boggiano
7e1ef19a5a
Expand library version checking capabilities ( closes #9093 )
2020-08-13 15:48:41 +02:00
Wissem Riahi
657ae5519e
Add support for TAR in Artifact packages ( #9105 )
2020-08-12 20:30:58 +02:00
Jordi Boggiano
ff757e649c
Use pool to match packages to avoid getting packages without ids, fixes #9094
2020-08-12 12:41:19 +02:00
Jordi Boggiano
826db3db5e
Used locked repo only if it is present
2020-08-12 11:11:37 +02:00
Jordi Boggiano
c0eb9834fe
Merge pull request #9116 from ryanaslett/patch-1
...
Update PathDownloader.php
2020-08-11 09:54:09 +02:00
Jordi Boggiano
51b1a752e3
Merge pull request #9098 from GrahamCampbell/patch-1
...
Use consistent phpdoc nullable syntax
2020-08-11 09:52:09 +02:00
Jordi Boggiano
7649c8438d
Fix exception when using create-project in current directory, fixes #9073
2020-08-11 09:42:42 +02:00
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
2020-08-10 12:51:48 -07:00
Graham Campbell
019febb5fa
Use consistent phpdoc nullable syntax
2020-08-02 15:10:54 +01:00
Jordi Boggiano
2d3905157d
Merge branch '1.10'
2020-07-30 21:06:51 +02:00
Jordi Boggiano
00f712a7c4
Revert "Allow specifying a version requirement for CLDR"
2020-07-30 21:00:43 +02:00
Jordi Boggiano
387e828993
Promote next major version when running stable self-update, and prevent self-update from automatically upgrading to the next major release
2020-07-30 16:32:29 +02:00
Jordi Boggiano
5bd61ac55c
Cache versions data to avoid redownloading it twice during self-update
2020-07-30 16:32:29 +02:00
Jordi Boggiano
7028d0ce27
Merge pull request #9077 from glaubinix/f/api-data-detection
...
Driver: only cache composer.json file without API data to disk
2020-07-30 15:32:10 +02:00
Jordi Boggiano
daae46e1e0
Merge pull request #9085 from lstrojny/lib-cldr
...
Allow specifying a version requirement for CLDR
2020-07-30 14:53:46 +02:00
Jordi Boggiano
12d6759888
Fail hard instead of skipping branches/tags quietly when parsing VCS repos if 401/403 are returned, fixes #9087
2020-07-30 14:38:49 +02:00
Jordi Boggiano
7bcde1481d
Fix git downloader syntax for windows cmd when updating packages, fixes #9089
2020-07-30 14:38:48 +02:00
Jordi Boggiano
79813b2f77
Fix detection of git refs to be more strict
2020-07-30 14:38:48 +02:00
Lars Strojny
5a02ea6a96
Check that class exists
2020-07-30 14:29:48 +02:00
Lars Strojny
404dea61c2
Allow specifying a version requirement for the relevant CLDR
2020-07-29 19:32:53 +02:00
Stephan
b25296ef74
Driver: only cache composer.json file without API data to disk
2020-07-27 13:26:57 +01:00
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]]`)
2020-07-26 15:28:47 -04:00
Andreas Möller
ac055e5718
Fix: Reference
2020-07-21 23:25:05 +02:00
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
2020-07-21 17:17:12 +02:00