1
0
Fork 0
Commit Graph

6450 Commits (2646f09c2eaeb39614b29226809fc0fc67766292)

Author SHA1 Message Date
Jordi Boggiano 4e7ff690c6
Revert lock file as well when a require command operation failed to complete 2020-04-02 14:39:53 +02:00
Nils Adermann 1b55b466fb require: Add with-dependencies and with-all-dependencies as alternative option names 2020-04-02 14:19:36 +02:00
Jordi Boggiano 379baa1560
Merge pull request #8717 from naderman/t/pool-builder-allow-list
Move processing of partial update argument list into the pool builder
2020-04-02 12:53:02 +02:00
Nils Adermann f7b5cbd1fc Lock file should not contain new aliases for packages which were not updated 2020-04-02 01:12:34 +02:00
Nils Adermann 5ad93959cf PoolBuilder: On partial update of a new dep with mutual replace, unfix replacer
Test also verifies provider does not get uninstalled in partial update
for another package name
2020-04-02 00:54:49 +02:00
Nils Adermann 613450e58a PoolBuilder: properly clean up alias packages when unfixing packages
Prevent aliases to be duplicated: no need to apply root aliases from
composer.json on packages currently locked, they should have their
aliases in the lock file, otherwise request an update.
2020-04-02 00:08:53 +02:00
Nils Adermann 2dfbf3692a PoolBuilder: Remove null default for io 2020-04-01 16:42:12 +02:00
Nils Adermann 14000e7575 PoolBuilder: Ensure alias references get removed when unfixing a locked package
Use the last key + 1 for an index instead of count, since we unset elements somtimes
2020-04-01 16:40:45 +02:00
Nils Adermann c270d3cfa6 PoolBuilder: make io non-nullable, NullIO can be used instead 2020-04-01 15:27:51 +02:00
Nils Adermann 71c3c63b54 Remove unused variable assignment 2020-03-30 16:37:31 +02:00
Nils Adermann 9fb09049ff Rename and document constants for partial update behavior 2020-03-30 16:21:27 +02:00
Jordi Boggiano 22a52f5813
Apply suggestions from code review
Co-Authored-By: Andreas Möller <am@localheinz.com>
2020-03-29 16:59:07 +02:00
Andreas Möller 6e88683e35
Fix: Return early 2020-03-29 12:18:56 +02:00
Jordi Boggiano 800491175b
Avoid failing cleanup when a package gets uninstalled 2020-03-28 20:50:49 +01:00
Jordi Boggiano 6e45a53e76
Add support for relative paths in handling of install-path for the installed.json 2020-03-28 20:39:11 +01:00
Jordi Boggiano 1b1d59ee6c
Make FileDownloader always download file first in vendor-dir/composer/$tmp instead of next to install path to avoid issues with custom installers not being loaded when downloading on first install, and use cleanup method properly 2020-03-28 20:38:50 +01:00
Jordi Boggiano 918768fc54
Make sure we get a temporary dir which is unique 2020-03-28 20:37:09 +01:00
Jordi Boggiano 73251691a0
Avoid emptying the directory before extracting an archive into it, check that it is empty instead 2020-03-28 20:36:55 +01:00
Nils Adermann fc40fefa6f Make sure nameConstraints is always set when loading a name 2020-03-27 23:13:21 +01:00
Nils Adermann 443553423b Mark replaced packages for update when using --with-dependencies
This is necessary to allow the requiring of new packages which replace
packages currently locked without requiring explicitly listing them as
an argument, so simplifies the composer require command
2020-03-27 22:59:00 +01:00
Nils Adermann 392d0abd21 Rename test files and standardize on allow list rather than whitelist 2020-03-27 22:15:04 +01:00
Nils Adermann 01fe92905a The update allow list is now generated while building the pool
This reduces code complexity while making partial updates more
predictable. This also allows composer require to successfully run a
partial update for a new package with transitive dependency updates.
2020-03-27 21:41:49 +01:00
Nils Adermann da84763f03 Move partial update handling to pool builder 2020-03-26 12:03:52 +01:00
Christian Raue b644f63a93
fixed help URL for ClearCacheCommand 2020-03-24 22:47:11 +01:00
Jordi Boggiano 6679dde713
Merge pull request #8693 from enumag/patch-2
Add --dry-run to composer require
2020-03-24 14:01:47 +01:00
Jordi Boggiano 7e679656a4
Keep absolute path repos symlinks absolute, fixes #8700 2020-03-24 12:35:18 +01:00
Jordi Boggiano 86677ad172
Avoid scanning files twice when generating optimized autoloaders, fixes #8683 2020-03-13 18:28:27 +01:00
Jáchym Toušek 3bf46a77f9
Update RequireCommand.php 2020-03-13 18:18:13 +01:00
Jáchym Toušek bbb781b1ed
Add --dry-run to composer require 2020-03-13 14:40:25 +01:00
Jordi Boggiano cbdf74eb34
Merge remote-tracking branch 'naderman/optimize-fixed-pkg-loading' into 2.0 2020-03-13 11:57:56 +01:00
Jordi Boggiano cf5513f28d
Fix syntax error 2020-03-13 11:50:35 +01:00
Jordi Boggiano 0d2c2c044a
Avoid skipping feature branch detection if no branch-alias is defined at all 2020-03-13 11:39:19 +01:00
Jordi Boggiano c2d0fed06b
Tweak lock repo name 2020-03-13 11:20:58 +01:00
Jordi Boggiano 3a9b786400
Bring suggest output in line with the rest of update/install output 2020-03-13 11:18:41 +01:00
Jordi Boggiano e15f7d6bb7
Merge branch 'master' into 2.0 2020-03-13 11:18:23 +01:00
Aaron Johnson b41e768e1f
Put backticks around command for readability.
Helps to promote the command to discern it from the sentence. :)
2020-03-12 23:17:14 -04:00
Nils Adermann 8a6382d78d Remove unnecessary TODOs and skip EmptyConstraint like null 2020-03-12 18:12:05 +01:00
Nils Adermann bbdbb3517b PoolBuilder: Drop name constraints loop, already set earlier in same code 2020-03-12 16:45:09 +01:00
Nils Adermann 59bc957e76 Simplify loading of fixed and root require packages in pool builder
additionally mark all packages replaced by fixed packages as loaded as
there is no need to load those names at all, since the fixed package
will provide them
2020-03-12 16:43:08 +01:00
Jordi Boggiano d58653627a Optimize loading of deps from fixed packages 2020-03-12 16:40:30 +01:00
Jordi Boggiano 82e2a679bf Add TODO note 2020-03-12 16:40:30 +01:00
Jordi Boggiano 08cee4c3e9
Implement getProviders equally on all repos 2020-03-12 15:39:26 +01:00
Jordi Boggiano 8a83d5cc35
Fix create-project command 2020-03-12 13:50:40 +01:00
Jordi Boggiano d09daa8d5a
Merge pull request #8684 from naderman/dev-require-errors
Handle dev extraction exit codes instead of completing broken lock with errors
2020-03-12 13:20:55 +01:00
Nils Adermann ee8df484c4 Separate createPool and createPoolWithAllPackages, fix test description 2020-03-12 13:17:04 +01:00
Nils Adermann 281d8930ff For dev extraction skip pool building, we already have a working package set
Also reduce getProviders back to just providers, and add some todos
2020-03-12 12:19:46 +01:00
Jordi Boggiano 3d0d71367d
Doc updates 2020-03-12 08:37:01 +01:00
Jordi Boggiano 73a5cc63cc
Always use Removing for consistency between dry-run and actual install 2020-03-12 08:12:12 +01:00
Mathias Berchtold 1ebeb143ae
Fix PHP 8 warnings
The PR fixes this PHP 8 warning:
PHP Deprecated:  Required parameter $ambiguousClasses follows optional parameter $blacklist in phar://.../composer.phar/src/Composer/Autoload/AutoloadGenerator.php on line 339
2020-03-11 23:00:04 -05:00
Nils Adermann 06f460c557 Remove trailing spaces from output 2020-03-11 21:32:55 +01:00
Nils Adermann 1f467046d7 Implement getProviders on reposet for all repo types and add replacers
This way errors during require dev extraction make more sense
2020-03-11 17:38:16 +01:00
Nils Adermann ddb1e79bef Handle dev extraction exit codes instead of completing broken lock with errors 2020-03-11 17:31:49 +01:00
Jordi Boggiano 9c84f4d79f
Make sure InstalledRepository itself can be added too but requires allowing installed repos in reposet 2020-03-11 17:02:25 +01:00
Jordi Boggiano 589aa351a8
Change Uninstalling to Removing in lock operations 2020-03-11 16:44:08 +01:00
Jordi Boggiano ba04a46cae
Fix 5.3 issue 2020-03-11 16:20:35 +01:00
Jordi Boggiano d13ce20b6e
Fix handling of composer repos with v1 version_normalized format 2020-03-11 16:11:12 +01:00
Jordi Boggiano a453792d6b
Merge pull request #8682 from glaubinix/f/gitlab-guest-token-access
GitLab: properly handle token which has Guest only access
2020-03-11 15:34:25 +01:00
Jordi Boggiano d559bf5387
Allow configuring a path repo to an empty path as long as using wildcards and the wildcard root exists, fixes #8679 2020-03-11 15:33:14 +01:00
Stephan 402c64c271
Update src/Composer/Repository/Vcs/GitLabDriver.php
Co-Authored-By: Jordi Boggiano <j.boggiano@seld.be>
2020-03-11 15:17:12 +01:00
Jordi Boggiano a7a975ec1c
Alias dev-master/trunk/default to 9999999-dev instead of normalizing the version to that, fixes #8323 2020-03-11 15:04:18 +01:00
Stephan Vock 55d252b9c3 GitLab: properly handle token which has Guest only access 2020-03-11 13:35:28 +01:00
Jordi Boggiano 97e2a249e8
Merge branch 'master' into 2.0 2020-03-11 09:34:55 +01:00
Jordi Boggiano d271004b30
Also check for package requiring itself in require, not only require-dev 2020-03-10 17:00:28 +01:00
Jordi Boggiano 5c4ef1eb96
Make package name validation a hard failure, fixes #7875 2020-03-10 16:57:34 +01:00
Jordi Boggiano c033644f8b
Present lock changes alphabetically, with uninstalls first, then all install/updates mixed 2020-03-10 16:08:40 +01:00
Jordi Boggiano 24a5a0dacb
Skip invalid PSR-0/4 classes from optimized autoloader, fixes #8403 2020-03-10 15:40:45 +01:00
Jordi Boggiano 94e6cfc521
Only show direct dependencies suggestions by default, add --all flag to see all in suggest command, fixes #8660 2020-03-10 15:09:28 +01:00
Jordi Boggiano 2445ef5e1f
Refactor check-platform-reqs to use InstalledRepository and look for providers as well as platform packages, fixes #8645, closes #8676
Co-authored-by: Ellis <eantaya@nuglif.com>
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2020-03-10 14:53:42 +01:00
Jordi Boggiano d63eb8179e
Merge branch 'master' into 2.0 2020-03-10 14:05:33 +01:00
Jordi Boggiano f964b83018
Add bearer support in config command and add to docs/schema, refs #8671 2020-03-10 13:39:26 +01:00
Jordi Boggiano 0b993ba4b9
Merge pull request #8671 from ethanclevenger91/ethanclevenger91/explicit-bearer-support
Bearer support.
2020-03-10 13:33:02 +01:00
Jordi Boggiano 479414d8bd
Move bearer auth to be first to make sure it does not get shadowed by github/gitlab/.. configs 2020-03-10 13:26:53 +01:00
Jordi Boggiano 9d72c92f07
Avoid looping endlessly for invalid GitLab tokens in git config, fixes #8667 2020-03-10 11:25:45 +01:00
Jordi Boggiano 34fb609aad
Merge pull request #8652 from clxmstaab/more-ambiguous
report ambiguous classes across all classmaps
2020-03-10 10:47:37 +01:00
Jordi Boggiano beb64914a3
Retrieve latest funding info for all packages in fund command 2020-03-06 17:01:59 +01:00
Ethan Clevenger cbec8ceb53 Bearer support. 2020-03-04 15:01:35 -08:00
Markus Staab cc5c5dbee1 merge fix from https://github.com/composer/composer/pull/8651 2020-03-02 13:28:10 +01:00
Markus Staab 04a18c72ba fix CS 2020-03-02 13:25:54 +01:00
Markus Staab 883a179dec removed superflous code 2020-03-02 13:24:06 +01:00
Markus Staab 61e0bf1cb5 fix typo 2020-03-02 13:23:33 +01:00
Jordi Boggiano 6d3d7c39ac
Merge pull request #8621 from remorhaz/master
Fix incorrect --no-dev handling of replaced packages
2020-02-28 23:49:09 +01:00
Jordi Boggiano 6cf54170cc
Avoid mixing write/writeError which causes issues on some terminals, fixes #8656 2020-02-28 22:42:52 +01:00
Jordi Boggiano 2285a79c63
Merge pull request #8641 from souweb22/delete_return
delete 'return' and 'spaces' in Filesystem.php
2020-02-28 22:28:14 +01:00
Jordi Boggiano c5ce4de89e
Consistently return void 2020-02-28 22:27:53 +01:00
Jordi Boggiano eb56c8dcd4
Merge pull request #8640 from souweb22/fix_doc
add 'array' to document in ConfigSourceInterface.php
2020-02-28 22:04:28 +01:00
Jordi Boggiano 5d970022e8
Normalize output of create-project target path, refs #8609, refs #8412 2020-02-28 17:02:15 +01:00
Jordi Boggiano 919fa60579
Merge pull request #8611 from ol0lll/fix/create-project-with-absolute-path
Create project with absolute path(fixes #8609)
2020-02-28 16:59:29 +01:00
Jordi Boggiano c6969756e8
Make sure $_SERVER is updated when putenv updates environment variables, fixes #8298 2020-02-28 16:27:06 +01:00
Jordi Boggiano 7a270955f5
Fix issues handling branch names with pipes in them 2020-02-28 16:00:45 +01:00
Jordi Boggiano 80875e896d
Merge branch 'master' into 2.0 2020-02-28 14:54:09 +01:00
Jordi Boggiano 05737a46fb
Improve funding info parsing 2020-02-28 14:52:29 +01:00
Jordi Boggiano 9cab8c10cc
Merge branch 'master' into 2.0 2020-02-28 13:31:56 +01:00
Jordi Boggiano 0b9c658bef
Add plugin-api-version used to generate a lock file in itself 2020-02-28 10:21:24 +01:00
Jordi Boggiano c4f19e51d8
Rework the funding info parsing to avoid requiring graphql permissions 2020-02-28 09:09:23 +01:00
remorhaz 339ee953e5 Fix incorrect --no-dev handling of replaced packages 2020-02-26 17:39:26 +02:00
Markus Staab 30b1dfb8a9 report ambiguous classes across all classmaps 2020-02-25 16:09:36 +01:00
arai e61b559eb2 delete 'return' in Filesystem.php 2020-02-23 21:38:14 +09:00
arai 766c8d448c add 'array' to document in ConfigSourceInterface.php 2020-02-23 21:31:28 +09:00
Jordi Boggiano a2eb0bab12
Abort loop correctly when package is a match 2020-02-18 08:28:35 +01:00
Jordi Boggiano 5b41b78809
Optimize findPackagesWithReplacersAndProviders to avoid multiple loops over replace/provide links 2020-02-18 08:10:54 +01:00
Jordi Boggiano 20e4cc3b6f
Fix finding replacers/providers to check constraints correctly 2020-02-17 11:23:15 +01:00
arai 1f08138379 Delete variable 2020-02-16 13:34:08 +09:00
Volker Killesreiter e532e70b22 Revert "Chore: Use consistent directory path"
This reverts commit 43e0321ee7.
2020-02-14 19:54:18 +01:00
Jordi Boggiano 2e82e34fe0
Merge branch 'master' into 2.0 2020-02-14 17:03:29 +01:00
Jordi Boggiano 4f59162827
Fix class name of caught exception 2020-02-14 17:03:22 +01:00
Jordi Boggiano 0ad322e51f
Fix tests 2020-02-14 16:55:21 +01:00
Jordi Boggiano ee2252c6ac
Add lint check after phar is built
The initial 1.10.0-RC build (593b8dfb29)
had what looks like a bit flip of one > into a :, causing a parse error as $foo->bar became $foo-:bar in some class.

This is quite unpleasant and easy to miss as it requires including the file in question before the error is spotted.

It was quite lucky I ran a composer install with the new phar right after to do something else and spotted the error.

Linting all files covers this problem mostly, at least for the PHP files.
2020-02-14 16:36:14 +01:00
Jordi Boggiano bc002ae1fb
Merge branch 'master' into 2.0 2020-02-14 15:42:17 +01:00
Jordi Boggiano 055a179cc5
Merge pull request #8453 from naderman/funding
Add funding field to composer.json and composer fund command
2020-02-14 14:27:12 +01:00
Jordi Boggiano 8dc055bec7
Fix 5.3 syntax 2020-02-14 14:18:26 +01:00
Jordi Boggiano 653e62f201
Merge pull request #8605 from guilliamxavier/fix-validate-strict-warnings
Fix validate strict warnings
2020-02-14 14:14:21 +01:00
Jordi Boggiano 4ebc318510
Fix 5.3/5.4 builds 2020-02-14 14:10:42 +01:00
Jordi Boggiano 77a477fb57
Add FundCommand 2020-02-14 14:08:38 +01:00
Jordi Boggiano f171d1fd89
Avoid requiring auth for the funding API access 2020-02-14 11:50:56 +01:00
Guilliam Xavier a17e7e9bd3
ValidateCommand: fix array syntax for PHP 5.3 2020-02-14 10:57:19 +01:00
Jordi Boggiano b033a2ae81
Retrieve funding info from github into composer.json if not declared there 2020-02-14 10:55:22 +01:00
Jordi Boggiano ff8bf0ab82
Clarify code
Co-Authored-By: Guilliam Xavier <guilliamxavier@users.noreply.github.com>
2020-02-14 10:45:35 +01:00
Guilliam Xavier a222ec5b36
ValidateCommand: remove actually unused code 2020-02-14 10:19:27 +01:00
Nils Adermann d665ea7ea9
After update and install commands display how many packages want funding 2020-02-14 10:08:36 +01:00
Nils Adermann 5c4f524d6a
Add funding field to composer.json
You can specify a list of funding options each with a type and URL. The
type is used to specify the kind of funding or the platform through
which funding is possible.
2020-02-14 10:08:35 +01:00
Jordi Boggiano 8fd70d2dc4
Target ClassMapGenerator ignoring of invalid PSR classes for 2.0 2020-02-14 10:07:51 +01:00
Jordi Boggiano fe5b4fa4cc
Merge pull request #8597 from glaubinix/t/log-git-sync-mirror-error
Git: log error for sync mirror with existing local copy
2020-02-14 09:58:28 +01:00
Jordi Boggiano 850bfcddfa
Fix json manipulation fallback handling of empty objects, fixes #8600 2020-02-14 09:33:53 +01:00
Jordi Boggiano 71005091f0
Fix invalid access to private prop 2020-02-13 22:19:32 +01:00
Jordi Boggiano 2d8a8ed7e3
Add InstalledRepository to clean up some concepts and usages, remove BaseRepository 2020-02-13 21:44:24 +01:00
Jordi Boggiano 78885c556a
Add missing use statement 2020-02-13 18:05:04 +01:00
Jordi Boggiano c5c6d44a0b
Refactor away some unnecessary RepositorySet usages 2020-02-13 17:51:22 +01:00
Jordi Boggiano f35cd8948a
Minor refactoring of RootPackageRepo 2020-02-13 16:29:57 +01:00
Jordi Boggiano 44d1e15294
Simplify suggester output when updating, refactor suggest command to reuse SuggestedPackagesReporter and make smarter defaults, fixes #6267 2020-02-13 16:13:29 +01:00
Guilliam Xavier 35562dcd49
ValidateCommand: add a comment that we didn't forget $lockErrors 2020-02-13 15:48:36 +01:00
Guilliam Xavier 2f4bd85219
ValidateCommand: de-invert if-elseif-else to reduce code duplication 2020-02-13 14:57:38 +01:00
Guilliam Xavier 901d177179
ValidateCommand: factorize $printSchemaUrl code 2020-02-13 14:46:50 +01:00
Guilliam Xavier b5e41d6792
ValidateCommand: always display all warnings, independently of --strict 2020-02-13 14:43:26 +01:00
Guilliam Xavier 7e2679ffc1
ValidateCommand: pass $isStrict to outputResult() of with-dependencies too 2020-02-13 14:37:08 +01:00
Jordi Boggiano d52ce3c37f
Replace pre/post-dependencies-solving by a pre-operations-exec event happening only on install from lock 2020-02-12 14:35:31 +01:00
Stephan Vock 243ee9b1e4 Git: log error for sync mirror with existing local copy 2020-02-12 10:17:21 +00:00
Jordi Boggiano 835a91532d
Add PRE_POOL_CREATE event, fixes #8348 2020-02-12 10:41:04 +01:00
Jordi Boggiano 71855e6430
Restore PRE/POST_DEPENDENCY_SOLVING events 2020-02-12 10:41:03 +01:00
Jordi Boggiano 4d74f5ba95
Fix exclude-from-classmap handling to avoid foo matching foo* directories, fixes #8563, refs #8575 2020-02-12 10:23:03 +01:00
Jordi Boggiano 7e142b5d6b
Use Upgrading for package installs too 2020-02-11 17:51:02 +01:00
Jordi Boggiano 02433c3659
Merge pull request #8565 from glaubinix/t/create-project-add-repository
Create project: add option to add the repository to the composer.json
2020-02-11 13:47:34 +01:00
Jordi Boggiano 9609729de7
Change update to upgrade for package update operations which are upgrades, refs #8594 2020-02-11 13:43:38 +01:00
Jordi Boggiano be8dd528b8
Merge remote-tracking branch 'origin/master' into 2.0 2020-02-11 11:33:52 +01:00
Jordi Boggiano ef249ef6b6
Add support for lib-zip platform package 2020-02-11 11:01:20 +01:00
Ion Bazan a180f48921 Distinguish between updates and downgrades in dry-run 2020-02-11 16:35:35 +08:00
Stephan Vock 2a564a9f36 Create project: add option to add the repository to the composer.json 2020-02-10 16:46:28 +00:00
Jordi Boggiano 5843a282bc
Merge pull request #8562 from adrianosferreira/fix-archive-format-cli
Uses config data from Composer object whenever possible on ArchiveCommand
2020-02-10 17:26:26 +01:00
Adriano Ferreira 97d077c43b Uses config data from Composer object whenever possible on ArchiveCommand
It was previously blindly getting a new instance from the factory thus ignoring what is on Composer object config data.
2020-02-10 13:15:58 -02:00
Jordi Boggiano 589abb06a3
PHPStan fixes 2020-02-07 23:10:10 +01:00
Jordi Boggiano c56886ac36
Avoid checking for .dockerenv if open_basedir is set, fixes #8585 2020-02-07 22:33:39 +01:00
Jordi Boggiano 45ecbae8f5
Merge branch 'master' into 2.0 2020-02-07 22:20:51 +01:00
Ion Bazan 2ff73a8797 respect `notify-on-install` option 2020-02-05 15:52:14 +08:00
Jordi Boggiano 4e4304ae7d
Fix 2020-02-04 13:22:46 +01:00
Jordi Boggiano 0b4763e6c7
Make it clear which package the error is for when detecting uncommitted changes 2020-02-04 13:06:20 +01:00
Jordi Boggiano 006c3de542
Fix tests and make TTY usage on ProcessExecutor cleaner 2020-01-31 16:33:34 +01:00
Jordi Boggiano f572636628
Add support for TTY mode on Linux/OSX in script handlers when running in interactive mode, fixes #5856, fixes #3299, closes #4036 2020-01-31 15:45:33 +01:00
Jérôme Billiras 58e2956b95
Allow referencing scripts to extends @composer 2020-01-31 14:56:22 +01:00
Jordi Boggiano d14d411fa4
Add --dry-run to require and remove commands, fixes #7793 2020-01-31 14:34:10 +01:00
Nils Adermann fdfdee03c1 Remove unused argument to pool->match 2020-01-30 22:54:59 +01:00
Nils Adermann 4f44b7b221 Remove unused policy function findUpdatePackages 2020-01-30 22:49:15 +01:00
Jordi Boggiano a1fe64152d
Minor Installer cleanups 2020-01-30 21:03:35 +01:00
Jordi Boggiano 2f4ea3a463
Fix show command, refactor RepositorySet constructor 2020-01-30 20:21:17 +01:00
Jordi Boggiano 38f6ae2c4e
Fix react/promise usage for v2 2020-01-30 17:30:38 +01:00
Jordi Boggiano 189d5adab0
Fix reporting of replace conflicts to not mention provides 2020-01-30 17:13:12 +01:00
Jordi Boggiano ec90c17e3b
Fix conflict order to be more accurate 2020-01-30 15:55:37 +01:00
Jordi Boggiano 1e68555e0a
Sanitize URLs in getRepoName and centralize the Url sanitization process 2020-01-30 15:50:46 +01:00
Jordi Boggiano c41df325d8
Remove RepositorySet from Solver and remove getPool from RepositorySet 2020-01-30 15:23:22 +01:00
Jordi Boggiano 1d4cdb60d0
Improve error reporting for conflicts/replaces of various kinds, fixes #7254 2020-01-30 14:43:56 +01:00
Jordi Boggiano 6c9d9e775c
Clean up and deduplicate the output of RULE_LEARNED 2020-01-30 14:43:56 +01:00
Jordi Boggiano 29efc473a1
Suggest which providers could be required to fulfill a virtual package requirement, fixes #2811 2020-01-30 14:43:55 +01:00
Jordi Boggiano 3fc7e10c5c
Improve error reporting of solver issues, refs #7779
Fixes #8525
Fixes #6513
2020-01-30 14:43:54 +01:00
Jordi Boggiano f611c641db
Merge pull request #8561 from Seldaek/allow-providers-even-on-match
Allow providers which are selected to be installed in place of existing packages which do not satisfy requirements
2020-01-30 14:22:42 +01:00
Jordi Boggiano 46e35bc8d7
Fix 5.3/undef var issues 2020-01-30 14:17:49 +01:00
Jordi Boggiano 8a41f1a5ca
Allow providers which are selected to be installed in place of existing packages which do not satisfy requirements, fixes #6753 2020-01-30 14:09:55 +01:00
Jordi Boggiano 2901995fc8
Fix issue excluding unstable packages when stabilityFlags are empty 2020-01-30 10:17:42 +01:00
Jordi Boggiano 8f09f3764b
Avoid fetching non-existing files multiple times 2020-01-30 08:40:35 +01:00
Jordi Boggiano 39fb2cc51c
Fix case 2020-01-28 16:04:11 +01:00
Jordi Boggiano 3f48acf56a
Add test checking references update to latest and remove TODO 2020-01-28 16:01:17 +01:00
Jordi Boggiano 41720e9b70
Show abandoned warnings from the locked repo 2020-01-28 15:56:52 +01:00
Jordi Boggiano 292d4b3c8f
Make sure a lock file is always written and things work well even without any dependencies in the require/require-dev 2020-01-28 15:14:58 +01:00
Jordi Boggiano 173b96de2d
Make sure the first require does not fail due to a missing lock file 2020-01-28 15:13:35 +01:00
Jordi Boggiano 8584d15e8c
Merge branch 'master' into 2.0 2020-01-28 14:04:27 +01:00
Jordi Boggiano 94dce37424
Avoid use of refs and avoid a false path when showing the root package, refs #8545 2020-01-28 13:52:34 +01:00
Jordi Boggiano 9db08f9883
Merge remote-tracking branch 'Serializator/feature/show-package-json' 2020-01-28 12:57:34 +01:00
Jordi Boggiano e9c7e253f4
Merge pull request #8529 from vitalyzhakov/master
Change only modified files for docker caching
2020-01-28 11:31:40 +01:00
Jordi Boggiano 1287a7a611
Merge pull request #8538 from adrianosferreira/add-vendor-bin-for-each-event
Append the bin dir on each listener iteration
2020-01-28 11:29:22 +01:00
Julian van den Berkmortel 933fe27cd5 Add support for "composer show --format=json <package>" #8544 2020-01-21 23:07:54 +01:00
Жаков Виталий ccd8be382b comments for #2764 2020-01-21 11:10:18 +05:00
Жаков Виталий 415cf9fd50 Merge branch 'master' of https://github.com/composer/composer 2020-01-21 11:06:56 +05:00
Жаков Виталий 48c7442b63 should be || not OR 2020-01-20 16:25:38 +05:00
Adriano Ferreira acc040f745 Append the bin dir on each listener iteration
The "composer install" can create the vendor/dir folders and be used as a script item on composer.json. Having another script running after it that relies on vendor/bir binaries (such as phpunit) will cause it to not find the binary. This fix addresses the issue by trying to append the path on each script iteration.
2020-01-20 08:11:08 -02:00
Nils Adermann 8b877eb068 Remove superfluous check in Problem 2020-01-20 10:27:04 +01:00
Nils Adermann 0b4e8952f6 PHP5 disallows require as a function name, use requireName analog to fixPackage 2020-01-19 23:28:00 +01:00
Nils Adermann 5bdc0fc9c5 Request jobs replaced by root require / fixed package
The only type of request job remaining was "install" which is really a
root requirement. The only other kind of input for the solver is now a
set of fixed packages.

Rules have been updated to account for only two kinds of former job
reason: FIXED or ROOT_REQUIRE. The job property has always been
redundant and has been removed, since reasonData suffices.

Problem reasons are always rules, so the unnecessary wrapping in an
array has been removed.

We now only ever generate a single rule per root require or fixed
package, so there is no need for the solver to special handle disabling
"jobs" anymore, the rule can just be disabled as usual.

For consistency special handling of rules for jobs in problems has been
integrated into the rule class like all other rule reasons. As part of
this change the error message for root requirements has been improved a
bit to make it clearer where the package installation request came from.

The word job has also been removed from operations, which are called
operations, not jobs.
2020-01-19 23:21:07 +01:00
Jordi Boggiano 1d31190472
Keep track of unacceptable fixed packages for later to use in error reporting and make sure the pool state is consistent 2020-01-17 15:48:31 +01:00
Жаков Виталий 1e92780600 operations case touch 2020-01-17 19:37:39 +05:00
Jordi Boggiano c6a3f48eaf
Remove some more remove request handling 2020-01-17 15:35:37 +01:00
Patrick Weyck 7d7e3d594b Normalize minimum-stability `rc` to `RC` in `InitCommand`
A `minimum-stability` of `rc` is valid according to
`composer-schema.json` and works fine with install and update and
generally in version comparisons, because it's normalized to `RC`.

This commit makes it work in `InitCommand` and `RequireCommand` too.
2020-01-17 15:34:18 +01:00
Jordi Boggiano 7cc8a4aed8
Avoid checking stability on platform packages too 2020-01-17 15:29:30 +01:00
Jordi Boggiano 6dc576738a
Avoid partial updates from applying changes to packages which are not locked with an acceptable stability 2020-01-17 15:15:46 +01:00
Jordi Boggiano e162cc6f0a
Remove "remove" from request 2020-01-17 14:57:32 +01:00
Jordi Boggiano 304753ff69
Remove callback and pass stabilities all the way instead
This allows optimizing the loading of ~dev files, and cleans up a few things
2020-01-17 14:57:32 +01:00
Jordi Boggiano 98860b8619
Fix show command when no package is found 2020-01-17 14:52:28 +01:00
Jordi Boggiano 8bb472a608
No need to alias platform packages before the repository set as the pool builder already does it 2020-01-17 14:52:28 +01:00
Jordi Boggiano b9d00153d9
Suggest using -p when a platform package can not be found in show command 2020-01-17 14:52:07 +01:00
Jordi Boggiano 56b2e1ae7a
Allow installing an aliased root package 2020-01-17 14:26:52 +01:00
Jordi Boggiano 572ef1add1
Add comment for lockable 2020-01-17 14:25:43 +01:00
Jordi Boggiano cc91e9164a
Stop unrolling the root aliases 2020-01-17 13:54:13 +01:00
Jordi Boggiano 73bc137c3c
Avoid nameConstraints from being collected for fixed packages 2020-01-17 12:20:27 +01:00
Jordi Boggiano e50f78043a
Try to load packages from lock file only and avoid loading other versions for pinned packages 2020-01-17 12:20:03 +01:00
Jordi Boggiano 257d2ce889
Avoid setting the update whitelist in require command on newly created files and when the lock file is disabled 2020-01-17 11:33:47 +01:00
Жаков Виталий 33db6ec71b touch only if update 2020-01-17 10:58:52 +05:00
Jordi Boggiano e6749d8717
Add comment, fix 5.3 build 2020-01-15 16:18:56 +01:00
Jordi Boggiano dd556f989b
Use LockArrayRepository instead of RepositoryInterface to clearly indicate which type of repo it is in some places 2020-01-15 14:56:58 +01:00
Jordi Boggiano 6c24e85e54
Merge pull request #8528 from Seldaek/repo-prio-fix
Avoid loading packages found in a higher prio repo entirely from lower prio repos
2020-01-15 14:55:25 +01:00
Jordi Boggiano f68731e663
Remove package/repo priority concept as it is enforced by the pool builder now 2020-01-15 14:52:44 +01:00
Жаков Виталий f02989ceba revert formatting 2020-01-15 18:27:12 +05:00
Жаков Виталий a4dc076dc8 fix file load errors 2020-01-15 18:09:42 +05:00
Жаков Виталий 8429a48dac Change only modified files 2020-01-15 17:09:44 +05:00
Jordi Boggiano 30b6a41035
Extract MetadataMinifier util 2020-01-15 12:58:30 +01:00
Jordi Boggiano 926afab1f4
Move loadPackages impl out of BaseRepository 2020-01-15 12:37:24 +01:00
Jordi Boggiano 47a94b3a88
Ensure packages that exist in a higher prio repo never get loaded in lower prio repos, fixes #5076 2020-01-15 12:02:12 +01:00
Jordi Boggiano 40f5806a7c
Fix ComposerRepo issue 2020-01-14 16:20:31 +01:00
Jordi Boggiano 13f1924892
Merge branch 'master' into 2.0 2020-01-14 15:46:30 +01:00
Jordi Boggiano e4b495ca16
Fix 5.3 build 2020-01-14 15:42:43 +01:00
Jordi Boggiano a5b178084c
Merge branch 'master' into 2.0 2020-01-14 15:39:35 +01:00
Jordi Boggiano 4b6c25d4bc
Use Authorization header instead of deprecated access_token query param, fixes #8454 2020-01-14 15:35:52 +01:00
Jordi Boggiano c3d3d45903
Merge pull request #8331 from jimmy-ho/bug/issue-8330
8330 Correct issue where permission umask of files were not set when …
2020-01-14 15:09:28 +01:00
Jordi Boggiano 669033f1e7
Collect existing packages only once, refs #8372 2020-01-14 14:45:15 +01:00
Jordi Boggiano c0714e5ff8
Merge remote-tracking branch 'xy2z/has-package-name' 2020-01-14 14:33:01 +01:00
Jordi Boggiano 78217e2313
Merge branch '1.9' 2020-01-14 12:52:32 +01:00
Jordi Boggiano a2dadb91bf
Return two packages in PathRepository when on a feature branch, one for feature branch and one for the source branch it came from, fixes #8498, fixes #8477 2020-01-14 12:52:20 +01:00
Jordi Boggiano 6c795dedc0
Add openssl version to diagnose command, refs #8506 2020-01-14 09:36:53 +01:00
Jordi Boggiano a902279a5b
Merge branch '1.9' 2020-01-14 09:32:27 +01:00
Jordi Boggiano 0b767e0b83
Allow calling getProviderNames multiple times, refs #8516 2020-01-14 09:31:57 +01:00
Maximilian Bösing 3791a574a2
Provide partial packages names if available, closes #8516, fixes #8526 2020-01-14 09:31:57 +01:00
Jordi Boggiano f5dab18b7d
Remove dead code, refs #8517 2020-01-13 18:21:57 +01:00
Jordi Boggiano ee3fd0f745
Merge remote-tracking branch 'adrianosferreira/package-install-method-cli'
Fixed formatting, and handling of config command to be preferred-install.foo value

Refs #8517
2020-01-13 18:18:18 +01:00
Jordi Boggiano e8426d2c01
Adjust config handling of suggest, refs #8520 2020-01-13 17:51:38 +01:00
Jordi Boggiano f203b3eb41
Merge remote-tracking branch 'adrianosferreira/add-suggest-in-json-by-cli' 2020-01-13 17:36:10 +01:00
Jordi Boggiano c43137db3f
Merge branch '1.9' 2020-01-13 15:50:39 +01:00
Jordi Boggiano 8d24b61bef
Tweak and add comments to the working dir fix with global exec, refs #8515 2020-01-13 15:50:34 +01:00
Jordi Boggiano 6b8f1c71b6
Merge remote-tracking branch 'cdayjr/issue-8481' 2020-01-13 15:31:22 +01:00
Jordi Boggiano ef6ef8ac0f
Hint at the partial update command, fixes #8508, refs #8332 2020-01-13 14:19:37 +01:00
Jordi Boggiano 818e16238f
Merge pull request #8510 from glaubinix/t/abandon-archived
VcsRepositories: mark archived repositories as abandoned
2020-01-13 13:47:33 +01:00
Jordi Boggiano a6176a7beb
Add IOInterface methods 2020-01-13 13:36:09 +01:00
Jordi Boggiano 23359f2db6
Merge branch 'master' into 2.0 2020-01-13 13:35:52 +01:00
Jordi Boggiano 3d72b56ed6
Merge branch '1.9' 2020-01-13 13:30:52 +01:00
Jordi Boggiano d3f1c664d4
Avoid formatting output from external processes, fixes #8524 2020-01-13 13:30:46 +01:00
Jordi Boggiano 2bd817acf9
Merge pull request #8444 from Toflar/remove-filters-from-pool
Removed the filters from the pool
2020-01-13 12:47:22 +01:00
Adriano Ferreira 607d491921 Implemented way to add packages into suggest through CLI 2020-01-10 09:13:36 -02:00
Adriano Ferreira 5ea6fd0bcb Implemented way to use preferred-install for defining granular preferences through CLI
Currently, preferred-install accepts the hash of patterns as the value in the composer.json. I've followed the same approach as used in extra and platform for letting the user define install preferences through CLI in the format: `composer config preferred-install my-organization/stable-package.dist`.
2020-01-07 14:25:57 -02:00
Chad Wade Day, Jr 917680e0d4 Make global exec execute commands in working directory 2020-01-06 19:29:00 -08:00
Stephan Vock 731d94a2a3 VcsRepositories: mark archived repositories as abandoned 2020-01-04 17:01:27 +00:00
Tyson Andre 6827105a5b Fix nits on typos 2019-12-29 12:14:38 -05:00
Jordi Boggiano 2dd001132a
Merge pull request #8492 from staabm/putenv
implemented `@putenv` composer script
2019-12-22 12:27:23 +01:00
Markus Staab 3d8c1ebad5 implemented @putenv composer script
@putenv supports setting environment variables in a x-OS compatible way
2019-12-21 19:26:29 +01:00
johnstevenson beacdf4e51 Add Windows OneDrive to platform warnings 2019-12-20 19:01:57 +00:00
Stephan Vock dd2cc3e985 VcsRepository: make transport exceptions during initialize run accessible
* also display the http status code in composer failed to load a composer.json file
2019-12-17 10:26:21 +00:00
Adam Žurek 406a28708f updated phpstan to 0.12 2019-12-16 21:58:05 +01:00
Jordi Boggiano 620497a2ed
Fix usage of DefaultPolicy in show command 2019-12-13 17:21:21 +01:00
Jordi Boggiano 082422f334
Merge pull request #8458 from johnstevenson/noproxy
Rewrite NoProxyPattern to include IPv6
2019-12-13 12:11:50 +01:00
Jordi Boggiano f6b3f12107
Merge branch 'master' into 2.0 2019-12-07 21:10:14 +01:00
Jordi Boggiano 92cc5a821f
Merge pull request #8412 from polarathene/fix/improve-createproject-ux
Fix: Improve the create-project UX
2019-12-07 20:36:04 +01:00
Jordi Boggiano 5fc31716dd
Avoid using CURLPIPE_HTTP1 in php7.4+ 2019-12-07 18:58:17 +01:00
Jordi Boggiano 295cc8bc90
Merge pull request #8462 from BR0kEN-/issues/8461
#8461: [ZipDownloader] Print `unzip` exit code when the command is failed
2019-12-07 18:42:26 +01:00
Sergii Bondarenko bb127aa3e7 Resolves #8461: [ZipDownloader] Print `unzip` exit code when the command is failed 2019-12-03 15:30:08 +04:00
gary houbre 920d690d90 Added new Alias For Clear cache 2019-12-02 18:54:54 +01:00
johnstevenson 74ba9decdf Rewrite NoProxyPattern to include IPv6
This includes two breaking changes:
- the hostname is not resolved in the case of an IP address.
- a hostname with a trailing period (FQDN) is not matched.

This brings the basic implementation in line with curl behaviour, with
the addition of full IP address and range matching (curl does not
differentiate between IP addresses host names).

The NO_PROXY environment variable can be set to either a comma-separated
list of host names that should not use a proxy, or single asterisk `*`
to match all hosts.

- Port numbers can be included by prefixing the port with a colon `:`.
- IP addresses can be used, but must be enclosed in square brackets
`[...]` if they include a port number.
- IP address ranges can specified in CIDR notation, separating the IP
address and prefix-length with a forward slash `/`.
2019-11-29 20:39:08 +00:00
Yanick Witschi d1dc367d86 Removed the filters from the pool 2019-11-27 17:57:24 +01:00
Jordi Boggiano d12c20db4b
Remove async repo interface, closes #7902 2019-11-24 09:41:02 +01:00
Jordi Boggiano f2058680a7
Remove unused use statements 2019-11-24 08:46:23 +01:00
Jordi Boggiano 3b0339802b
Fix install manager usage 2019-11-23 13:12:13 +01:00
Jordi Boggiano 29612e8e8e
Remove dead code 2019-11-23 13:11:19 +01:00
Jordi Boggiano 5c62c7d566
Simplify promise handling 2019-11-23 12:37:17 +01:00
Nils Adermann a732ea5dd8 Display source/dist refs if updates do not change the version
We now output an update when only a source or dist ref changes even if
it's a stable version so in these cases the output needs to contain the
ref to make it clear to users what changed
2019-11-23 12:33:58 +01:00
Jordi Boggiano 88b051c96b
Merge branch 'master' into 2.0
Update deps
2019-11-23 12:27:41 +01:00
Jordi Boggiano 67e170eaa8
Merge branch '1.9' 2019-11-23 12:25:23 +01:00
Jordi Boggiano 89f6b2c54c
Merge pull request #8418 from glaubinix/f/github-authentication-behaviour
Git: fix authentication handling for private GitHub repositories
2019-11-23 12:24:41 +01:00
Cyril VERLOOP 0bd3f27693
Do not show commit signature for git log. 2019-11-23 12:23:46 +01:00
Jordi Boggiano 44cdc37c0c
Invalidate map cache when addPackage/removePackage is called 2019-11-23 12:07:29 +01:00
Stephan Vock b847115617 Git: fix authentication handling for private GitHub repositories 2019-11-23 12:02:06 +01:00
Jordi Boggiano f288acb1ca
Execute alias operations still 2019-11-23 11:29:50 +01:00
Jordi Boggiano 5725a2db57
Allow all prepare/cleanup/install/update/uninstall operations to return promises to be executed in parallel as well 2019-11-23 11:25:28 +01:00
Michael Thessel 96af983700 Fixed map initialization 2019-11-21 10:08:09 -08:00
Michael Thessel f8010d5220 Improved hasPackage() performance 2019-11-20 14:58:28 -08:00
Jordi Boggiano 438c45e991
Change UpdateOperation::show to match what the installers output, fixes the dry-run output to be more like real output 2019-11-14 15:41:23 +01:00
Nils Adermann 4e7702598e Always treat changes in dist and source references as updates 2019-11-14 15:33:03 +01:00
Jordi Boggiano 99eb86c506
Avoid outputting "Loading ... from cache" in non-verbose installs 2019-11-14 15:26:25 +01:00
Jordi Boggiano 006985a0ea
Execute all operations at once which lets us download all packages in parallel then install only once all downloads succeeded, fixes #2847
This also changes the PRE/POST_PACKAGE_INSTALL/UPDATE/UNINSTALL events to have less information available on them, repositorySet, request and policy are gone
2019-11-14 15:21:28 +01:00
Jordi Boggiano 3b6d517ce0
Return 404s in ComposerRepository when network is disabled instead of failing hard 2019-11-14 09:57:59 +01:00
Jordi Boggiano eb3e3063b8
Revert "When network is disabled all uncached requests result in 404"
This reverts commit c325112670.
2019-11-14 09:55:57 +01:00
Nils Adermann 28afc4de32 MultiConflictRules cannot be disabled, so no need to check 2019-11-12 23:14:56 +01:00
Nils Adermann 79066931e6 Update exception message for disabling multi conflict rules 2019-11-12 23:14:56 +01:00
Nils Adermann dc0f2e7e46 Ensure multi conflict rules are only used for 3+ literals
Implements the equals method correctly on multi conflict rules. If there
are fewer literals a regular Rule2Literals is enough to represent the
basic conflict rule.
2019-11-12 23:14:56 +01:00
Nils Adermann ed300b9f22 New Multi Conflict Rule for transitive conflicts, to reduce memory 2019-11-12 23:14:56 +01:00
Nils Adermann 6f9b1e76e3 Remove disableRules code from Solver, leftover from original C code
This goes back to an input option to install recommended packages, which
would in turn allow removal of these packages if that was needed to
resolve the rest. This was supported in very early versions of Composer
with suggested packages. We later realized this was not useful in the
context of a project based dependency manager with a lock file, so it
was removed but the solver was never cleaned up.
2019-11-12 23:14:24 +01:00
Nils Adermann c325112670 When network is disabled all uncached requests result in 404 2019-11-12 22:22:03 +01:00
Nils Adermann 7ef3a31de7 Make TransportException in network disabled case clearer
Otherwise it's a bit hard to work out what request triggered the exception
2019-11-12 22:00:02 +01:00
xy2z a91c946e27 Hide not-yet installed packages from "require" and "init" suggestions 2019-11-12 16:32:04 +01:00
Nils Adermann aa6bc75af2 Add a test case for transactions to verify correct sorting 2019-11-08 17:51:18 +01:00
Nils Adermann 3cbe91983c Display Locking instead of Installing for lock file install operations 2019-11-08 16:57:52 +01:00
Nils Adermann 25de5218c3 Reunify lock and local repo transaction code and apply the same sorting 2019-11-08 15:56:46 +01:00
Nils Adermann 97ec2d7b61 Merge remote-tracking branch 'github-composer/2.0' into solve-without-installed
* github-composer/2.0: (63 commits)
  Fix PSR warnings for optimized autoloader, refs #8397, refs #8403
  Prepare 1.9.1 changelog
  Output a hint that maybe you are not in the right directory, fixes #8404
  Fix PSR warnings for optimized autoloader, refs #8397, refs #8403
  Fix tests for PSR-fix in optimized autoloader, refs #8397
  Fix tests for PSR-fix in optimized autoloader, refs #8397
  Change PSR-fix for optimized autoloader to only warn for now, refs #8397
  Fix output of dump-autoload command to avoid interfering with warnings, refs #8397
  Remove credentials from git remotes in cache and vendor dirs
  Avoid overwriting credentials with existing ones from git repos, refs #8293
  Fix github auth to try https with pwd also, fixes #8356
  Fix gitlab support for basic-auth fallback from ssh URLs
  Avoid clearing the error output during removeDirectory execution, losing git error output, fixes #8351
  Move test file parsing into try/catch block to avoid phpunit swallowing errors
  make optimized autoloader respect PSR standards
  Validate composer show with --tree and --path options set (#8390)
  Don't show root warning for docker containers
  Added phpdoc for ComposerAutoloaderInit$SHA1::getLoader() (#8393)
  Validate schema name, type and version
  Fix require command to allow working on network mounts, fixes #8231
  ...
2019-11-08 12:27:13 +01:00
Nils Adermann e26405d858 Clean up comments and output 2019-11-08 12:26:46 +01:00
Nils Adermann 3b26ef0f1b clean up extract dev packages 2019-11-08 12:13:23 +01:00
Nils Adermann 0099f56361 Define property which is later accessed in lock transaction 2019-11-07 22:11:54 +01:00
Nils Adermann 28596d9c12 Define property which is later accessed in local repo transaction 2019-11-07 22:02:35 +01:00
Nils Adermann bf99f1a341 Fix RepositorySet constructor calls to use new signature 2019-11-07 21:56:17 +01:00
Nils Adermann 26da52227e Clean up the Solver tests, no more installed repo input and new sorting
The solver now only calculates a lock file transaction which does not
need to be sorted in order of dependencies. This is only necessary for
the local repo transaction generated without the solver during install
2019-11-07 21:51:53 +01:00
Nils Adermann e6e0723105 Remove unnecessary comments, aliases in lock file are correctly created 2019-11-07 21:25:43 +01:00
Nils Adermann e308f043b9 Fully switch to spl_object_hash in lock transaction
The pool builder tries to be minimal so it's fine for present/locked
packages not be assigned a solver/pool id. Adding a test to verify
correct creation of uninstall jobs
2019-11-07 21:18:09 +01:00
Nils Adermann c50d236378 Correctly load branch aliases from lock file
Root aliases are also stored in the lock file, so on install do not read
them from composer.json.
2019-11-07 20:40:28 +01:00
Nils Adermann cc274ebdf4 Do not reset references on update mirrors if VCS type has changed 2019-11-07 17:42:17 +01:00
Nils Adermann 6925005ac9 Implement update mirrors/nothing/lock as its own installer mode
These special commands no longer (ab)use the partial update mechanism
but rather create a special install request for all current lock file
contents and later override any modified code references to the
originals. This leads to up to date remote metadata but no other
changes.
2019-11-07 17:35:44 +01:00
johnstevenson 7e649fac41 Fix Windows test regression from commit 149250a
Commit: 149250ab92

ProcessExecutor::escape handled a false value inconsistently across
platforms, returning an emtpy string on Windows, otherwise `''`. This
is fixed to return `""` on Windows.

The GitDownloaderTest code has been appropriately updated.
2019-11-07 12:50:42 +00:00
polarathene 43e0321ee7 Chore: Use consistent directory path
Only when a install directory was not specified, was the CWD prepended to `$directory`. This change provides consistency in paths displayed to the user.
2019-11-05 21:14:22 +13:00
polarathene 1b2582ff5b Chore: Improve create-project install UX
Provides feedback output before a potentially long wait on getBestCandidate() call on slow network connections where unresponsiveness/hang may be assumed.
2019-11-05 20:33:20 +13:00
polarathene 5987114f6c Fix: Fail when install location is a file
In the event a file has the same name as the intended install directory, fail fast too.
2019-11-05 20:29:57 +13:00
polarathene 11207a9a2e Fix: Check for null install directory earlier
Allows for failing fast when no install directory was provided to the command(uses package name instead).
2019-11-05 20:26:30 +13:00
polarathene e5e8736383 Fix: Fail fast when the project directory is not empty
Avoid waiting until after `getBestCandidate()` has finished, as it can add notably delay on slow connections due to downloading megabytes of data. Only to fail if the install location is invalid.
2019-11-05 20:26:21 +13:00
Andreas Möller f7f7883a5e
Fix: Xdebug vs xdebug 2019-11-03 14:08:14 +01:00
Jordi Boggiano aaead1bb88
Merge branch 'master' into 2.0 2019-11-01 17:13:09 +01:00
Jordi Boggiano 3496431a6c
Fix PSR warnings for optimized autoloader, refs #8397, refs #8403 2019-11-01 17:13:02 +01:00
Jordi Boggiano 0ea06de286
Merge branch 'master' into 2.0 2019-11-01 16:41:48 +01:00
Jordi Boggiano 6a7f8ac335
Merge branch '1.9' 2019-11-01 16:41:16 +01:00
Jordi Boggiano af86ca1fb3
Output a hint that maybe you are not in the right directory, fixes #8404 2019-11-01 16:32:34 +01:00
Jordi Boggiano d059d90ecf
Fix PSR warnings for optimized autoloader, refs #8397, refs #8403 2019-11-01 16:18:42 +01:00
Jordi Boggiano 502b68967a
Fix tests for PSR-fix in optimized autoloader, refs #8397 2019-11-01 15:31:55 +01:00
Jordi Boggiano f6b8643dcd
Change PSR-fix for optimized autoloader to only warn for now, refs #8397 2019-11-01 14:50:15 +01:00
Jordi Boggiano 050707ed0c
Fix output of dump-autoload command to avoid interfering with warnings, refs #8397 2019-10-30 16:35:13 +01:00
Jordi Boggiano 3a0d05c148
Merge remote-tracking branch 'and800/fix-autoload-opts' 2019-10-30 16:22:44 +01:00
Jordi Boggiano f867c407c7
Merge branch 'master' into 2.0 2019-10-30 15:40:26 +01:00
Jordi Boggiano a0690525b5
Merge branch '1.9' 2019-10-30 15:25:57 +01:00
Jordi Boggiano 149250ab92
Remove credentials from git remotes in cache and vendor dirs
This only removes the credentials if they are managed by composer auth.json or equivalent, if the credentials were present in the package URL to begin with they might remain

Refs #8293
Fixes #3644
Closes #3608
2019-10-30 15:24:53 +01:00
Jordi Boggiano 4e43f849c7
Avoid overwriting credentials with existing ones from git repos, refs #8293 2019-10-30 12:56:08 +01:00
Jordi Boggiano 12184aa9c5
Fix github auth to try https with pwd also, fixes #8356 2019-10-30 12:01:23 +01:00
Jordi Boggiano b925d06861
Fix gitlab support for basic-auth fallback from ssh URLs 2019-10-30 11:25:00 +01:00
Jordi Boggiano ae9cc3db58
Avoid clearing the error output during removeDirectory execution, losing git error output, fixes #8351 2019-10-30 10:45:40 +01:00
Jordi Boggiano bc2a1d762a
Merge branch 'master' into 2.0 2019-10-30 08:54:44 +01:00
Nils Adermann eaae360ce6 Correcting lock files in test cases and updating output 2019-10-30 00:55:11 +01:00
Nils Adermann 0ff07015a1 Only load package info from lock file for fixed packages
As a result some lock file packages are no longer in the pool, so the
former installed map, now present map cannot use package ids anymore

Need to revisit some more code later to simplify this, todo notes left
2019-10-30 00:24:25 +01:00
Nils Adermann 4481cc4a88 Allow an install request for a package name which is already fixed
Ensures packages get loaded from locked repo correctly. We may not want
to support this particular use-case at all, but for now it fixes the
existing test, so we may want to revisit this later.
2019-10-29 22:28:36 +01:00
Andriy Maletsky ec293adabc make optimized autoloader respect PSR standards 2019-10-29 20:36:29 +02:00
Armando Miani 82d939d7f7 Validate composer show with --tree and --path options set (#8390) 2019-10-29 15:06:07 +01:00
Jordi Boggiano 8bcacc8a3a
Merge branch '1.9' 2019-10-29 14:24:44 +01:00
MichaelKo 99e23d5263
Don't show root warning for docker containers
Signed-off-by: Viacheslav Sychov <viacheslav.sychov@gmail.com>
2019-10-29 14:24:33 +01:00
Markus Staab e47aa38ad4 Added phpdoc for ComposerAutoloaderInit$SHA1::getLoader() (#8393) 2019-10-29 14:08:33 +01:00
Jordi Boggiano eea4098f98
Merge branch '1.9' 2019-10-25 14:17:35 +02:00
Jordi Boggiano 4fc6479837
Fix require command to allow working on network mounts, fixes #8231 2019-10-25 14:08:30 +02:00
Jordi Boggiano 46657a8a7f
5.3 support :/ 2019-10-24 15:26:55 +02:00
Jordi Boggiano 8d92048c8c
Update safeguard code, fixes #8383 2019-10-24 15:20:14 +02:00
xy2z 1a0d5dfacd Now using findPackage() instead of HasPackageName() 2019-10-24 15:13:17 +02:00
Jordi Boggiano 78b8c365cd
Merge branch '1.9' 2019-10-24 15:05:45 +02:00
Jordi Boggiano 18dad48fa6
Merge pull request #8363 from sincilite/feature/error-reporting-for-missing-path
Improve error reporting for missing path in Repository Path
2019-10-24 11:34:55 +02:00
Jordi Boggiano b311b2c077
Merge pull request #8375 from mathiasdonoso/feature/add-homepage-to-package-information-command
added package homepage information to the command 'show'
2019-10-24 11:32:59 +02:00
Jordi Boggiano f2700bbd98
Merge pull request #8377 from TysonAndre/misc-nit
Fix misc phpdoc and strpos arg order nits for suggestions
2019-10-24 11:17:03 +02:00
Jordi Boggiano d73cef3fb4
Avoid calling findPackage for non-platform packages 2019-10-24 11:16:42 +02:00
Jordi Boggiano e85ade3107
Merge pull request #8386 from cedric-anne/bugfix/fix-php74-outdated-command
Fix composer outdated command on PHP 7.4; fixes #8346
2019-10-24 11:13:27 +02:00
Jordi Boggiano 82e0fdccca
Merge pull request #8384 from aboks/no-lock
Config option to disable lockfile generation
2019-10-24 11:06:02 +02:00
Jordi Boggiano 127ba941f1
Merge pull request #8376 from aschempp/bugfix/why-replaces
Consider replaces when checking package dependents
2019-10-24 10:48:09 +02:00
Jordi Boggiano 9082701ccb
Merge pull request #8359 from glaubinix/t/show-used-authentication-in-debug
Debug: display used authentication for http calls
2019-10-24 10:46:03 +02:00
Cédric Anne 9c9ca87537 Fix composer outdated command on PHP 7.4; fixes #8346 2019-10-21 13:04:31 +02:00
Stephan Vock 73b269fade HgDriver: don't run command in non-existing directory 2019-10-21 11:11:10 +02:00
Mikhail Fesenko c2f1a6b643 Added clear cache for windows, fix tests 2019-10-21 11:06:12 +02:00
Arnout Boks 7c5e5e3ede Add option to disable the lock file
When the `lock` option is set to false, composer will not write a
`composer.lock` file to disk. This signals that the package is meant
to be developed with unlocked and always updated dependencies. At the
moment, both `install` and `update` are allowed to install the
dependencies for such a package. If #6822 is implemented, only `update`
should be used for packages without a lockfile.

https://github.com/composer/composer/issues/8354
2019-10-19 21:46:29 +02:00
Andreas Schempp 5f202efa0b Added comment why source link check is necessary 2019-10-16 13:36:28 +02:00
Tyson Andre 4c8e41d9a9 Fix misc phpdoc and strpos arg order nits
https://www.php.net/strpos has the signature
`strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int`
(The needle is usually the constant)

`strpos('/', $suggestion)` would only be `false` for `''` and `'/'`

So the existing check would just not suggest **anything** that was
already installed (from pecl, built-in, or composer).

The intent seems to be to not suggest non-vendored php packages
that were already installed. (b20cc22ebb)
2019-10-15 21:32:02 -04:00
Andreas Schempp 80317eb289 Remove invalid array keys 2019-10-15 10:56:43 +02:00
Andreas Schempp 20eb9e66cf Consider replaces when checking package dependents 2019-10-15 08:26:19 +02:00
Mathías Donoso 07ec3bda3e changed homepage information position 2019-10-15 00:38:24 -03:00
Mathías Donoso 14b3f09cf8 added package homepage information to the command 'show' 2019-10-15 00:19:57 -03:00
xy2z a8abdd9639 Hide installed packages from suggestions when package is not found 2019-10-12 22:22:27 +02:00
Mike van Rooyen e910e06f63 Add details of the path to aid debugging 2019-10-08 16:02:03 +01:00
Mike van Rooyen 18895064ad Check that if the getUrlMatches method returns an empty value which means the path is incorrect 2019-10-08 15:46:35 +01:00
Alexander M. Turek 146aa4938f Command::execute() should always return an integer. 2019-10-07 18:50:18 +02:00
Stephan Vock 0d1d35c346 Debug: display used authentication for http calls 2019-10-07 08:51:53 +01:00
Jordi Boggiano 1843312ddf
Merge pull request #8313 from unkind/feature-require-fixed
Provide `--fixed` option for the `require` command, fixes #8303
2019-10-06 21:39:45 +02:00
Jordi Boggiano 5b4fad9056
Update target version for master branch 2019-10-06 21:39:10 +02:00
Jordi Boggiano 9e2485aa4d
Make gitlab/bitbucket driver checks case insensitive 2019-10-06 21:37:16 +02:00
zakonnic 9f6e45051a Optimize template for striping non-php blocks 2019-09-20 16:59:53 +03:00
zakonnic ec96e5de64 Fix incorrect strip of non-php blocks in the file 2019-09-20 12:58:09 +03:00
Nikita Konstantinov e3b6c67a44 Provide `--fixed` option for the `require` command, fixes #8303 2019-09-18 16:05:25 +03:00
James Ho 91732eee55 8330 Correct issue where permission umask of files were not set when archiving in zip format with ZipArchiver 2019-09-17 15:10:32 +01:00
Nils Adermann 995b4f923e Fix more tests which were lacking lock files for partial updates, display fix jobs in problems 2019-09-07 09:32:06 +02:00
Nils Adermann 3989a1b8ee Restore dev package extraction
New approach is to use only the solved set of packages as input and then
to resolve with only the non-dev requirements and to mark everything as
dev that is not part of the result set, rather than transitioning a
temporary local repo state by uninstalling dev packages.
2019-09-07 08:52:10 +02:00
Nils Adermann a114e26841 Correctly load aliases in lockedRepository to fix alias install output 2019-09-07 07:43:23 +02:00
Nils Adermann 4db325b7b4 Use the old root stack based approach to sorting operations in the transaction 2019-09-07 07:13:34 +02:00
Nils Adermann b700aa3d62 Sort local repo transaction as topological as possible 2019-09-07 06:05:02 +02:00
Nils Adermann f5e18250e6 Merge remote-tracking branch 'github-composer/2.0' into solve-without-installed
* github-composer/2.0: (48 commits)
  Fix missing use/undefined var
  Split up steps on VCS downloaders to allow doing network operations before touching the filesystem on GitDownloader, fixes #7903
  Fix use statement
  Deduplicate findHeaderValue code
  Add install-path to the installed.json for every package, fixes #2174, closes #2424
  Remove unnecessary config from phpstan
  Make sure the directory exists and will not block installation later when downloading
  Avoid wiping the whole target package if download of the new one fails, refs #7929
  Only empty dir before actually installing packages, fixes #7929
  Improve output when installing packages
  Show best possible version in diagnose command
  Remove extra arg
  Allow path repos to point to their own source dir as install target, resulting in noop, fixes #8254
  Fix use of decodeJson
  Fix update mirrors to also update transport-options, fixes #7672
  Fix updating or URLs to include dist type and shasum, fixes #8216
  Fix origin computation
  Improve handling of non-standard ports for GitLab and GitHub installs, fixes #8173
  Load packages from the lock file for check-platform-reqs if no dependencies have been installed yet, fixes #8058
  Fix error_handler return type declaration
  ...
2019-09-07 02:55:21 +02:00
Nils Adermann 06d11f2f38 Fix calculation of lock transaction updates and start updating output in tests 2019-09-07 02:33:50 +02:00
Nils Adermann f1e4ccbe1d Fix handling of reference updates and root references 2019-09-07 01:58:12 +02:00
Grey Baker b09945c3ba Allow for leading slash in path part of GitHub URLs 2019-09-02 22:26:35 +01:00
Jordi Boggiano f0d565bb6d
Avoid transforming the origins when prompting for auth, fixes #8300 2019-08-30 17:52:08 +02:00
Jordi Boggiano d3dc280322
Merge pull request #8296 from rbairwell/fix-php74-accessarray-offset-on-path
Fixes a problem with path based repositories on PHP7.4
2019-08-29 15:16:53 +02:00
Jordi Boggiano 7d99a56332
Combine conditionals in one 2019-08-29 15:16:34 +02:00
Jordi Boggiano 089fcde6cf
Merge remote-tracking branch 'davidszkiba/bugfix/issue-8289' 2019-08-29 15:09:14 +02:00
Jordi Boggiano fd70d9cdc3
Stripe access tokens in a more generic way 2019-08-29 12:22:38 +02:00
Jordi Boggiano 607b487295
Fix missing use/undefined var 2019-08-29 11:45:19 +02:00
Jordi Boggiano 53d2ab2253
Split up steps on VCS downloaders to allow doing network operations before touching the filesystem on GitDownloader, fixes #7903 2019-08-29 11:37:23 +02:00