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