1
0
Fork 0
Commit Graph

11196 Commits (6ed3aeb343fe1c83af7d9a3b3c6f4e49f756ce27)

Author SHA1 Message Date
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
Jordi Boggiano 03dcb6df3d
Merge pull request #9667 from arnaudvanwambeke/dont-recommend-with-all-dependencies
Fixes #9665
2021-02-04 09:25:42 +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
Jordi Boggiano d9454938b0
Merge pull request #9662 from Toflar/patch-1
Allow to override Installer::createPlatformRepo
2021-02-02 09:15:46 +01: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 5e956afa2f
Try fixing the build 2021-02-01 13:32: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 0adea1efbd
Update changelog 2021-01-27 16:09:01 +01:00
Jordi Boggiano 07b8c23f02
Merge branch '1.10' 2021-01-27 15:46:58 +01:00
Jordi Boggiano 4d2ae78703
Update changelog 2021-01-27 15:40:59 +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
Jordi Boggiano bab210777e
Update deps 2021-01-27 15:01:26 +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 e5e9c2cd59
Merge pull request #9651 from bbeckford/master
Suppress error when chdir($oldWorkingDir); unsuccessful
2021-01-27 09:29:01 +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 f2cdec0f0f
Merge pull request #9639 from glaubinix/t/docs-stability
Docs: explain how Composer gets the stability from a version
2021-01-25 21:28:04 +01:00
Jordi Boggiano b8f9550a2e
Update doc/articles/versions.md 2021-01-25 21:27:43 +01:00
Jordi Boggiano 26edbddbb2
Merge pull request #9634 from UlrichEckhardt/patch-1
Remove dependency on wget from install docs
2021-01-25 21:25:32 +01:00
Stephan Vock bb393588ea Docs: explain how Composer gets the stability from a version 2021-01-22 10:04:58 +00:00
Ulrich Eckhardt b4cff190a8
Remove dependency on wget from install docs
Some people have wget, others have cURL, but we all have PHP. ;)
2021-01-21 14:33:49 +01:00
Markus Staab 4a6f1792ea adjusted test expectations 2021-01-18 10:11:08 +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