1
0
Fork 0
Commit Graph

6904 Commits (414586ba0509b925fef9e8e5b3427cb2850996c4)

Author SHA1 Message Date
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