1
0
Fork 0
Commit Graph

7300 Commits (91548d178b76682e8cc15efac3f93c6476d01194)

Author SHA1 Message Date
Wissem Riahi c353ac835c
Add exception for multiple composer.json files (#3) 2020-07-21 17:10:26 +02:00
Markus Staab 4e1dd4bfdf
added phpdocs in StreamContextFactory 2020-07-20 20:49:00 +02:00
Jordi Boggiano 750a92b4b7
Fix headers array format 2020-07-17 17:29:00 +02:00
Jordi Boggiano 8cec8bd546
Allow verify_peer/verify_peer_name http options to be handled by curl downloader 2020-07-17 17:22:41 +02:00
Jordi Boggiano c3d40ae79a
Fix passing of repo http options in async requests 2020-07-17 17:16:19 +02:00
Jordi Boggiano 071350286f
Compact constraints to avoid ending up with very long multi constraints 2020-07-17 16:16:58 +02:00
Jordi Boggiano 22367a68f9
Avoid loading same packages multiple times 2020-07-17 16:16:58 +02:00
Jordi Boggiano 3577070efa
Fix docblocks 2020-07-17 16:15:19 +02:00
Yanick Witschi 6ba0f3adf9 Merge branch 'master' into filter-packages
* master: (59 commits)
  Update deps
  Reuse repository manager and others directly from the Composer instance, refs #9057
  Fix usage of create-project with local filesystem repos
  Fix return value
  Add support for multiple --repository additions in create-project, and make --add-repository delete the lock file, fixes #8853
  Remove cygwin php handling in UAC elevation
  Clean up a little to make impl less invasive and to handle replacers/providers
  Supply event dispatcher in Create Project Command
  Avoid attempting to use /etc/xdg as base config home, fixes #9053, refs #9045
  Create an issue @ Docker repository on tag
  Mark transaction classes internal, refs #8827
  Prepare 1.10.9 release
  Remove highest/lowest builds for 1.10 maintenance branch
  Fix bitbucket detection of redirects to login page, fixes #9041
  Fix doc comment
  Fixed spelling mistake
  Add Windows UAC elevation to self-update command
  GitLab: clarify interactive auth prompt
  Improve support for XDG and default to XDG config dir if both that and ~/.composer are available, fixes #9045
  Fix #9033 - inconsistent behavior with minor-only flag
  ...
2020-07-17 14:30:12 +02:00
Jordi Boggiano c3028c02d9
Merge branch '1.10' 2020-07-17 13:18:02 +02:00
Jordi Boggiano a474dee236
Merge remote-tracking branch 'johnstevenson/elevate2' into 1.10 2020-07-17 13:01:24 +02:00
Jordi Boggiano eac03e16e7
Reuse repository manager and others directly from the Composer instance, refs #9057 2020-07-17 12:05:07 +02:00
Jordi Boggiano 433968de17
Fix usage of create-project with local filesystem repos 2020-07-17 11:30:03 +02:00
Jordi Boggiano 201533e16f
Fix return value 2020-07-17 11:05:57 +02:00
Jordi Boggiano a2ab6f2b54
Add support for multiple --repository additions in create-project, and make --add-repository delete the lock file, fixes #8853 2020-07-17 10:38:46 +02:00
johnstevenson 8ddbae358d Remove cygwin php handling in UAC elevation
When called from a native shell and using cygwin PHP, cygpath translates
`/tmp` to `User\AppData\Local\Temp`, rather than `/cygdrive/.../tmp`.
This change does not affect using windows PHP from a Cygwin shell.
2020-07-16 17:20:12 +01:00
Jordi Boggiano 942562c382
Clean up Zip Util to be more strict about what is a valid package archive, fixes #8931 2020-07-16 17:36:46 +02:00
Jordi Boggiano 37b1e0fffd
Merge pull request #8955 from tlamy/OutdatedNoDevOption
Outdated/Show: no dev option
2020-07-16 15:40:09 +02:00
Jordi Boggiano 6869a1a5cb
Clean up a little to make impl less invasive and to handle replacers/providers 2020-07-16 15:37:12 +02:00
Shaun Johnston b4ecca5d0b Supply event dispatcher in Create Project Command
This update allows composer plugins to intercept the
create-project command to inject additional functionality such as
providing additional remote filesystem handling.
2020-07-16 23:34:30 +10:00
Jordi Boggiano 7cecc6ad3f
Avoid attempting to use /etc/xdg as base config home, fixes #9053, refs #9045 2020-07-16 14:59:49 +02:00
Jordi Boggiano 89d35af83d
Mark transaction classes internal, refs #8827 2020-07-16 13:59:49 +02:00
Jordi Boggiano 8b934a415f
Merge branch '1.10' 2020-07-16 12:27:00 +02:00
Jordi Boggiano 6cb4dc41b8
Fix bitbucket detection of redirects to login page, fixes #9041 2020-07-16 12:26:48 +02:00
johnstevenson 57f91d01c7
Fix doc comment 2020-07-16 11:53:55 +02:00
johnstevenson 272654d6e2
Fixed spelling mistake 2020-07-16 11:53:55 +02:00
johnstevenson cae913c434
Add Windows UAC elevation to self-update command
If self-update fails on Windows due to file permission issues, a .vbs
script is used to elevate a call to the cmd.exe `move` command.
Unfortunately it is not possible to know if the user cancelled the UAC
prompt using this method - it is possible using a Powershell script, but
flashing hidden windows make this a less desirable option.

The only downside is that a UAC invoked process is asynchronous, so a
300 millisecond timeout is used to allow cmd.exe to do its stuff.
Therefore if the OS is busy the script may finish first and incorrectly
report that the file has not been written.
2020-07-16 11:53:55 +02:00
Stephan fb0ad7c900 GitLab: clarify interactive auth prompt 2020-07-15 16:18:21 +01:00
Jordi Boggiano 870fdc59df
Merge remote-tracking branch 'tomekpryjma/fix-issue-9033' 2020-07-15 17:02:16 +02:00
Jordi Boggiano 10590dc519
Improve support for XDG and default to XDG config dir if both that and ~/.composer are available, fixes #9045 2020-07-15 10:56:13 +02:00
Tomek 23c32ed6d3 Fix #9033 - inconsistent behavior with minor-only flag 2020-07-14 23:06:20 +01:00
Jordi Boggiano 92ef439666
Merge branch '1.10' 2020-07-07 21:12:27 +02:00
Jordi Boggiano d2d3aa8494
Fix parsing of # in funding links, fixes composer/packagist#1097, closes #9035 2020-07-07 21:12:04 +02:00
Jordi Boggiano d7b1248508
Create pool before reading package ids as the pool creation reassigns package ids, fixes #9034 2020-07-04 12:00:37 +02:00
Jordi Boggiano 1fa6f4c83c
Add a default signal handler to avoid having the SIGINTs ignored, fixes #9027 2020-07-01 11:37:38 +02:00
Jordi Boggiano ee4afa29e7
Include dev packages in locked package listings for show command 2020-07-01 11:17:52 +02:00
Jordi Boggiano 70f211923b
Add support for list URL in composer repos, fixes #9009 2020-07-01 11:16:38 +02:00
Jordi Boggiano 1824637dab
Merge pull request #8999 from naderman/fix-solver-bug-exception-7051
Fix solver bug exception 7051
2020-06-27 23:50:55 +02:00
Nils Adermann 3f5dde9873 Solver: Ensure multi conflict rules still get added to learned pool 2020-06-26 22:04:17 +02:00
Nils Adermann edef748169 Solver: Clarify when/why undecided literals can get skipped in analyze 2020-06-26 21:55:03 +02:00
Nils Adermann 851050e85c Solver: multiconflict analyze handles positive decision same as regular literal 2020-06-26 21:51:02 +02:00
Nils Adermann 6e05345be7 Solver: Move analyze handling of multiconflict rule to clearer location
This way we're not looking at the previous decision at the top of the
loop but working with the current decision at the bottom
2020-06-26 21:51:02 +02:00
Nils Adermann b34f916470 Solver: No need to check previous decision if we reached the first one 2020-06-26 21:51:02 +02:00
Nils Adermann 2631210493 Solver: analyze multi conflict rules in conflict resolution correctly 2020-06-26 21:51:02 +02:00
Jordi Boggiano 5ef398ebb9
Fix 5.3 support 2020-06-26 16:58:02 +02:00
Jordi Boggiano bee91155a1
Fix guessing of default branch when HEAD is a non-feature-branch 2020-06-26 16:16:16 +02:00
Jordi Boggiano 4a2ea3c67a
Fix var name 2020-06-25 09:16:23 +02:00
Jordi Boggiano 86af5e5c6e
Remove conflict between trunk and master, as they do not normalize anymore 2020-06-25 08:58:08 +02:00
Jordi Boggiano e2f1e8aed6
Allow optimizing fetching of dev versions only if no other stability is needed 2020-06-25 08:57:42 +02:00
Jordi Boggiano a133e694d0
Speed up fund command fetching of latest data and make sure it uses default branch info 2020-06-25 08:57:18 +02:00
Jordi Boggiano 6f9b39180c
Add phpdocs 2020-06-25 08:56:46 +02:00
Jordi Boggiano 05dacbdabb
Rename DEV_MASTER_ALIAS to DEFAULT_BRANCH_ALIAS 2020-06-25 08:56:14 +02:00
Jordi Boggiano 821e575658
Merge branch '1.10' 2020-06-24 21:35:38 +02:00
Jordi Boggiano 74d89d7110
Get rid of default branch handling in version guesser as it is way too time intensive at every initialization 2020-06-24 21:16:16 +02:00
Jordi Boggiano a5e608fb73
Merge pull request #9008 from Ayesh/strtr-improvements
Replace cascading str_replace() calls with strtr()
2020-06-24 15:06:52 +02:00
Jonas Drieghe eea7564c9e Revert accidental rename of $dependencies variable in unrelated code branch 2020-06-24 07:28:22 +02:00
Jonas Drieghe d5d956df4d Use correct variable name 2020-06-23 19:50:27 +02:00
Jonas Drieghe 73a721c7e5 Add the missing summary format to command-line help text 2020-06-23 19:45:26 +02:00
Jonas Drieghe ec6e05d55f Sort licenses so that the most used license will appear first 2020-06-23 19:44:12 +02:00
Jonas Drieghe 668655c21a Rename variable for clarity 2020-06-23 19:43:27 +02:00
Stephan Vock 52332d994e GitDriver: use authentication for supports check 2020-06-23 13:06:30 +01:00
Ayesh Karunaratne e3c75b3e87
Replace cascading str_replace() calls with strtr()
Replaces cascading str_replace() calls with a single strtr() call that makes it mode readable and provides a micro performance improvement.
Some instances of cascading str_replace() calls were not refactored due to the potential recurring replacement patterns.
2020-06-23 04:10:26 +07:00
Yanick Witschi ea0ce9dd7d Merge branch 'master' into filter-packages 2020-06-22 18:38:16 +02:00
Jordi Boggiano e76fc2dc39
Avoid blocking when guessing default branch name, fixes #9001 2020-06-22 10:48:15 +02:00
Nils Adermann edd2aa27db
Add missing isVerbose argument to problem formatting call 2020-06-19 23:31:11 +02:00
Jordi Boggiano 7a37e78a30
Speed up installer tests by avoiding lots of bootstrapping and git processes 2020-06-19 17:56:13 +02:00
Jordi Boggiano 6349764c2d
Fix root package handling of default-branch 2020-06-19 15:34:28 +02:00
Jordi Boggiano 923f198a1f
Fix default-branch attribute on package files, and add it to schema 2020-06-19 15:33:25 +02:00
Jordi Boggiano 6f0e5996de
Treat default branch name as a non-feature-branch no matter what it is called 2020-06-19 14:12:44 +02:00
Jordi Boggiano 4682efcf77
Support also default_branch flag in cached versions 2020-06-19 09:45:39 +02:00
Jordi Boggiano 52afa5ef16
Fix handling of default branches 2020-06-17 17:54:06 +02:00
Jordi Boggiano f70d527f4f
Fix git tests 2020-06-17 17:53:00 +02:00
Jordi Boggiano ce368f8269
Store default branch info inside metadata 2020-06-17 17:41:38 +02:00
Jordi Boggiano 04381c70fe
Merge branch '1.10' 2020-06-17 17:37:39 +02:00
Jordi Boggiano cb1f3899bb
Revert "Store default branch info inside metadata"
This reverts commit 472a62152d.
2020-06-17 17:32:26 +02:00
Michael Stucki 0278e7453d
Clean Git repos during discard 2020-06-17 17:00:35 +02:00
Jordi Boggiano 8c0ecf7337
Clarify why a dev tag was ignored, fixes #8951 2020-06-17 16:41:33 +02:00
Jordi Boggiano 93d4cf6f91
Add --no-show-signature where git supports it, fixes #8966 2020-06-17 16:37:06 +02:00
Jordi Boggiano 472a62152d
Store default branch info inside metadata 2020-06-17 16:09:38 +02:00
Thomas Lamy 722bbce72f Merge remote-tracking branch 'upstream/master' into OutdatedNoDevOption 2020-06-17 13:03:15 +02:00
Jordi Boggiano 83c64a9d19
Reuse operation formatting logic in downloaders 2020-06-17 12:33:02 +02:00
Jordi Boggiano aaef3ff5ff
Improve error reporting when unzip fails due to race condition in unhandled Promise, refs #8988 2020-06-17 10:44:50 +02:00
Jordi Boggiano d1fedc3bd6
Restore old behavior of wiping dir contents before installing, fixes #8988 2020-06-17 10:42:05 +02:00
Jordi Boggiano 80d1b1a34c
Merge pull request #8987 from GrahamCampbell/patch-2
Marked getRootAliasesPerPackage as static
2020-06-17 09:22:18 +02:00
Jordi Boggiano 5ec6b81157
Merge pull request #8986 from GrahamCampbell/patch-1
Phpdoc tweaks
2020-06-17 09:22:04 +02:00
Jordi Boggiano c8731598cc
Merge branch '1.10' 2020-06-16 17:16:42 +02:00
Jordi Boggiano da572f1fdc
Merge remote-tracking branch 'GrahamCampbell/allow-list' into 1.10 2020-06-16 16:52:54 +02:00
Jordi Boggiano 09fc263d37
Fix status command bug 2020-06-16 16:27:36 +02:00
Graham Campbell 643852a2b0
Marked getRootAliasesPerPackage as static 2020-06-16 13:48:59 +01:00
Graham Campbell a4f4101346
Phpdoc tweaks 2020-06-16 13:46:20 +01:00
Jordi Boggiano 0d369c87bc
Merge pull request #8975 from ffraenz/pr
Composer 2: Allow plugins to override the URL before triggering the download
2020-06-16 14:44:03 +02:00
Jordi Boggiano 5aae7f4f20
Merge remote-tracking branch 'jderusse/optimize-compile' 2020-06-16 14:18:03 +02:00
Jordi Boggiano aea074308c
Update batching to install plugin deps before the plugin (alone an own batch) 2020-06-16 14:07:30 +02:00
Jordi Boggiano 085fe4e7e5
Add --no-progress support and a few more fixes 2020-06-16 14:00:24 +02:00
Jordi Boggiano 9c78eda7db
Fix FileDownloader::update impl to handle promises 2020-06-16 14:00:23 +02:00
Jordi Boggiano 87a0fc5506
Execute operations in batches to make sure plugins install in the expected order 2020-06-16 14:00:22 +02:00
Jordi Boggiano 9f380d606c
Add basic progress bar capability while waiting for jobs to complete 2020-06-16 14:00:22 +02:00
Jordi Boggiano b1e15c7725
Fix a couple async bugs 2020-06-16 14:00:21 +02:00
Jordi Boggiano 3af617efe8
Parallelize zip extraction using async unzip processes 2020-06-16 14:00:20 +02:00
Jordi Boggiano 8f6e82f562
Add support for aborting running promises cleanly 2020-06-16 14:00:20 +02:00
Jordi Boggiano 0dad963cd8
Add executeAsync to ProcessExecutor and allow Loop class to wait on it in addition to HttpDownloader 2020-06-16 14:00:19 +02:00
Jordi Boggiano d5286d0cb8
Add a way for FileDownloader subclasses to add paths to the cleanup stage 2020-06-16 14:00:18 +02:00
Jordi Boggiano a797ee1322
Fix inline aliases not being loaded when extracting dev requirements, fixes #8954 2020-06-16 13:50:29 +02:00
Jordi Boggiano da6c0635d2
Merge pull request #8980 from stucki/discard-using-git-clean
Discard changes is incomplete if Git project has additional folders
2020-06-16 11:08:44 +02:00
Jonas Drieghe 8da2811dc3
Add new summary format for licenses (#8973)
* Add new summary format to render the number of dependencies for each used license

* Array dereferencing wasn't available on php 5.3

* Add summary format to documentation
2020-06-16 10:07:53 +02:00
Michael Chekin 6d9bf42655
Additional Util\RemoteFileSystem tests (#8960)
* RemoteFilesystemTest: simplifying some mock expectations calls

- will($this->returnValue()) to willReturn()
- will($this->returnCallBack()) to willReturnCallback()

* RemoteFilesystemTest: extracting identical mocks for IOInterface into a separate getIOInterfaceMock() method

* RemoteFilesystemTest: converting protected helper methods to private.

* RemoteFilesystemTest: moving getConfigMock() private method after the public methods (with other private methods)

* adding RemoteFileSystemTest::testCopyWithRetryAuthFailureFalse() unit test.

* Allow optional injecting of AuthHelper into RemoteFilesystem constructor.

* adding RemoteFileSystemTest::testCopyWithSuccessOnRetry() unit test.

* using backward compatible @expectedException in RemoteFilesystemTest.php

* RemoteFilesystemTest: extracting RemoteFilesystem with mocked method creation into a separate method.

* RemoteFilesystemTest: extracting AuthHelper with mocked method creation into a separate method.
2020-06-16 09:35:33 +02:00
Fränz Friederes 5c13c97428
Implement type and context properties in PreFileDownloadEvent 2020-06-15 21:43:41 +02:00
Michael Stucki ae59047166 Clean Git repos during discard 2020-06-15 21:42:41 +02:00
Fränz Friederes 907367ff43
Fix PHPDoc issue 2020-06-15 21:28:27 +02:00
johnstevenson 54debe8210
Respect disable-tls in Versions::getLatest
Use http to get the latest version when disable-tls is true and error-
trap DiagnoseCommand::checkVersion so that all checks can complete.
Fixes #8657.
2020-06-15 13:08:38 +02:00
Jordi Boggiano a17bbec842
Avoid double warnings about composer.json when running outdated, fixes #8958 2020-06-15 13:04:02 +02:00
Fränz Friederes 13bdf8553a
Add setProcessedUrl method to PreFileDownloadEvent 2020-06-11 21:53:31 +02:00
Graham Campbell a97d13fc6d
Fixed typo
Co-authored-by: ZhangWei <zhwei.yes@gmail.com>
2020-06-08 09:33:40 +01:00
Graham Campbell fa799970ad Replace whitelist with allow list 2020-06-07 22:15:09 +01:00
Jordi Boggiano 2fa58ccf96
Reduce amount of packages loaded by avoiding extensions of the constraint beyond the root constraint 2020-06-06 17:18:42 +02:00
Jordi Boggiano 4b9b499ce5
Fix issue loading aliases and fix markPackageNameForLoading when called twice in a row for same package it would overwrite the constraint the second time 2020-06-06 17:16:54 +02:00
Jordi Boggiano f2befc46c9
Avoid storing duplicate packages when loading the same package twice 2020-06-05 17:13:39 +02:00
Jordi Boggiano 67a88880ec
Get rid of EmptyConstraint 2020-06-05 16:52:24 +02:00
Jordi Boggiano cb19347031
Update to latest master 2020-06-05 16:52:24 +02:00
Yanick Witschi b6c436598b
Updated to latest semver intervals 2020-06-05 16:52:24 +02:00
Yanick Witschi 6ef47baca1
Added a todo for package dupes 2020-06-05 16:52:24 +02:00
Yanick Witschi 014e9d5dd1
Fixed last remaining pool builder test 2020-06-05 16:52:24 +02:00
Yanick Witschi 5097ed6480
Fixed another test 2020-06-05 16:52:24 +02:00
Yanick Witschi 5a835db24d
Fixed another partial update test 2020-06-05 16:52:24 +02:00
Yanick Witschi 7be24dccd9
Fixed some of the partial update tests 2020-06-05 16:52:24 +02:00
Yanick Witschi 225a6a0a82
Improved variable naming 2020-06-05 16:52:24 +02:00
Yanick Witschi 0955d38374
Simplify package loading 2020-06-05 16:52:24 +02:00
Yanick Witschi 779b56ab2b
Fixed psalm annotations 2020-06-05 16:52:24 +02:00
Yanick Witschi b00291cf21
CS 2020-06-05 16:52:24 +02:00
Yanick Witschi 00500f83c0
Using the current subset branch of @Seldaek to fix subset tests 2020-06-05 16:52:24 +02:00
Yanick Witschi 26877285ad
Filter duplicate packages 2020-06-05 16:52:24 +02:00
Yanick Witschi bde9502473
Made the constraint argument in Link mandatory 2020-06-05 16:52:24 +02:00
Yanick Witschi 2427bef238
Typo 2020-06-05 16:52:24 +02:00
Yanick Witschi bca88bdd4b
Fixed PoolBuilder running endlessly when packages do not exist 2020-06-05 16:52:24 +02:00
Yanick Witschi b87fc5bbfd
Added more poolbuilder test 2020-06-05 16:52:24 +02:00
Yanick Witschi d78c37edd2
Cleanup and added some more improvements, tests still failing 2020-06-05 16:52:24 +02:00
Nils Adermann 5dd4b456b9
PoolBuilder: Do not load any alternatives to pkgs replaced by fixed pkg 2020-06-05 16:52:24 +02:00
Nils Adermann bb4cabc0b9
PoolBuilder: Avoid loading any alternatives to fixed packages 2020-06-05 16:52:24 +02:00
Yanick Witschi 1c8865a5d1
Comment 2020-06-05 16:52:24 +02:00
Yanick Witschi 10555ecff3
Make sure there's always a constraint 2020-06-05 16:52:24 +02:00
Yanick Witschi 912aecb666
Removed name constraints 2020-06-05 16:52:24 +02:00
Yanick Witschi af7feade8f
POC 2020-06-05 16:52:24 +02:00
Thomas Lamy caa5545478 #8945 Add "--no-dev" to outdated/show commands 2020-06-05 16:48:10 +02:00
Jordi Boggiano 9d5051faac
Merge branch '1.10' 2020-06-05 16:02:02 +02:00
Jordi Boggiano 6630519882
Fix #8298 for COMPOSER_DEV_MODE 2020-06-05 16:01:39 +02:00
Jordi Boggiano 29ec10d95c
Fix output formatting 2020-06-05 13:43:42 +02:00
Nils Adermann f15b9c258e
Merge pull request #8949 from Seldaek/cleanups
Cleanups / docblocks
2020-06-05 10:48:29 +02:00
Ayesh Karunaratne 71ddc487fe
Platform Check: Add a special case for `zend-opcache`.
Ref #8946

The platform-check feature maps `ext-X` to `extension_loaded('X')` calls.
While most of the extensions can be tested this way, the `zend-opcache`
extension requires `zend opcache` to be probed instead of the `zend-opcache`
name.

This commit adds a special case for `zend-opcache` to use the correct name
in `extension_loaded()` calls in generated `platform_check.php` file.
2020-06-05 02:09:31 +07:00
Jordi Boggiano c9571f90b4
Run phpstan with regular output and then run again to cs2pr if there was an error, to keep usable output in CI logs 2020-06-04 16:11:02 +02:00
Jordi Boggiano a4a617abb4
Reduce amount of Filesystem/ProcessExecutor instantiations, add lots of docblocks 2020-06-04 16:08:23 +02:00
Jordi Boggiano 5761228068
Make installer classes forward promises from downloaders to InstallationManager 2020-06-04 10:34:16 +02:00
Jordi Boggiano 816d8e9d1b
Fix phpstan error 2020-06-03 15:41:47 +02:00
Jordi Boggiano 90bd351b8b
Allow downgrades to go through even though the target dir for archive extraction exists 2020-06-03 15:37:36 +02:00
Jordi Boggiano 63041fbf50
Add missing class 2020-06-03 15:28:10 +02:00
Jordi Boggiano 02059d96e7
Fail early if an archive extraction is going to fail at install/update stage to avoid leaving the vendor dir in a half up to date state 2020-06-03 15:19:02 +02:00
Jordi Boggiano 396ad87fd0
Add handling of ctrl-C on windows for php 7.4+ 2020-06-03 15:18:27 +02:00
Jordi Boggiano a66a939b76
Merge pull request #8937 from Seldaek/optim-rules
Optimize rule creation for alias packages
2020-06-03 14:17:13 +02:00
Jordi Boggiano 5ef7765cbd
Merge pull request #8923 from staabm/glob-classmap
Autoload-Generator: support glob patterns in classmaps
2020-06-03 13:12:44 +02:00
Jordi Boggiano ccea1b95a8
Fix pretty constraint for --with overrides 2020-06-03 10:43:18 +02:00
Jordi Boggiano 7507b87fb3
Remove stray var_dump 2020-06-03 10:40:44 +02:00
Jordi Boggiano 8d3ec0f718
Do not reverse sorted packages, fixes #8320 2020-06-03 09:42:21 +02:00
Jordi Boggiano 1055be7936
Fix unfixing of packages when a replacer gets unfixed before a replacee, refs #8882 2020-06-02 17:03:41 +02:00
Jordi Boggiano 4d75d524f1
Fix class name case, refs #8939 2020-06-02 16:20:31 +02:00
Graham Campbell 462dc5a933
Fix for HHVM 3 2020-06-02 14:52:38 +01:00
Nils Adermann 86e79fcce3
Merge pull request #8938 from Seldaek/drop-dead-code
Remove some dead code from RuleSetGenerator
2020-06-02 15:49:24 +02:00
Jordi Boggiano 718021724c
Deduplicate more content in complex problem output 2020-06-02 15:46:12 +02:00
Jordi Boggiano 9bd255d8f1
Remove some dead code from RuleSetGenerator 2020-06-02 14:41:18 +02:00
Jordi Boggiano 5a4709c3d6
Optimize rule creation for alias packages
This mainly benefits projects running updates with minimum-stability: dev
2020-06-02 13:44:56 +02:00
Jordi Boggiano 8a7f3a9a09
Avoid rendering problem output for dev-master aliases which is useless 2020-06-02 13:21:06 +02:00
Jordi Boggiano 5e5f9f8142
Remove unused RULE_INTERNAL_ALLOW_UPDATE 2020-06-02 11:22:35 +02:00
Jordi Boggiano c8efb50d39
Change the single requirement ignore from --ignore-platform-reqs=xx to --ignore-platform-req=xx to avoid BC issues 2020-06-02 11:22:09 +02:00
Jordi Boggiano 2ddf4346ef
Improve error reporting for RULE_PACKAGE_ALIAS 2020-06-02 10:35:04 +02:00
Jordi Boggiano 0ea9eafcaf
Add rules for aliased packages when an alias is added, fixes #8902 2020-06-02 10:07:20 +02:00
Jordi Boggiano c0f5c13516
RuleSetGenerator instance does not need to be kept around anymore 2020-06-02 09:45:19 +02:00
Jordi Boggiano 1e08097a17
Fix phpstan warning 2020-06-01 16:05:13 +02:00
Jordi Boggiano a9affa8413
Add missing use statement 2020-06-01 15:58:34 +02:00
Jordi Boggiano e85da00dff
Add a way to ignore only some packages in --ignore-platform-reqs, and make the platform check ignore those packages which were ignored as requirements, fixes #8861 2020-06-01 15:43:24 +02:00
Jordi Boggiano 21e708f2c4
Remove upper bound PHP version checks from platform-check as there is not enough value added and it risks causing issues 2020-06-01 09:39:44 +02:00
Jérémy Derussé 95e6e16b78
Use Semver compiled constraints 2020-05-26 21:35:30 +02:00
Markus Staab 6a0e02db1b Autoload-Generator: support glob patterns in classmaps 2020-05-23 21:22:07 +02:00
Jordi Boggiano a07f9ffba9
Catch SIGINT/Ctrl+C during installs and run cleanups on all packages before exiting 2020-05-22 13:24:30 +02:00
Jordi Boggiano 385655f02a
Mark temp files as such for clarity in case any gets left over 2020-05-22 13:23:14 +02:00
Jordi Boggiano acf2b15982
Merge branch '1.10' 2020-05-22 10:30:51 +02:00
azjezz 30f994e424 fix deprecations in PHP 8 2020-05-21 18:16:19 +01:00
Jordi Boggiano c7fb15faf4
Update to MatchAllConstraint 2020-05-21 16:12:41 +02:00
Jordi Boggiano 45d3e133a4
Avoid checking for unbounded constraints in platform checks 2020-05-19 17:15:08 +02:00
Jordi Boggiano 62d0443e07
Avoid checking for readline in non-CLI contexts, fixes #8909 2020-05-19 16:46:33 +02:00
Jordi Boggiano d42e12c514
Make config non optional, fixes #8896 2020-05-19 16:34:51 +02:00
Jordi Boggiano b27c4b2472
Merge branch '1.10' 2020-05-19 15:48:19 +02:00
Timo Webler 541692bbfe
Use "getInitialWorkingDirectory" instead of "getWorkingDirectory"
Follow-up 8d24b61bef
2020-05-19 15:47:51 +02:00
Jordi Boggiano 1d2df5ef55
Add output to remove/require command to highlight the fact it is running an update command, refs #8910 2020-05-19 14:48:58 +02:00
Jordi Boggiano af6444353f
Refactor hint generation and whitespace handling in SolverProblemsException 2020-05-19 12:17:57 +02:00
Jordi Boggiano 98e5f81a5f
Fix detection of fixed package problems to include more cases, fixes #8910 2020-05-19 12:17:25 +02:00
Jordi Boggiano beded906ba
Merge branch '1.10' 2020-05-08 21:05:07 +02:00
Jean-Michel DELEHAYE 42fc372e52
Add function_exists() for 'pcntl_signal' 2020-05-08 20:53:43 +02:00
Matěj Kmínek a074819a51
Add support for gitlab deploy token (#8867)
* feat: Added ability to work with GitLab deploy tokens: https://docs.gitlab.com/ee/user/project/deploy_tokens/

Deploy tokens can be specified two ways:
1) GIT CONFIG:
git config --add gitlab.deploytoken.user USERNAME && git config --add gitlab.deploytoken.token TOKEN
2) Auth.json:
"gitlab-token": {
    "gitlab.com": {"username": "USERNAME", "token": "TOKEN"}
}
2020-05-08 17:43:07 +02:00
Jordi Boggiano 1ef352751c
Fix display issue in create-project when installing dev-master 2020-05-06 13:45:31 +02:00
Jordi Boggiano ba3df8faea
Merge pull request #8843 from FIDATA/feature/archive-name
Add (default) base name of archive into composer.json
2020-05-06 11:06:28 +02:00
Jordi Boggiano dd0c8b4278
Merge pull request #8723 from helhum/fix-package-sorting
Fix package sorting
2020-05-06 10:47:01 +02:00
Jordi Boggiano 3134466b42
Merge branch '1.10' 2020-05-06 10:30:53 +02:00
Jordi Boggiano 4ce492d01d
Fix detection of gitlab URLs, fixes #8402, closes #8868 2020-05-06 10:18:53 +02:00
Nils Adermann 5d5515348a
Merge pull request #8860 from Seldaek/update-with
Add --with to update command to allow downgrading to a specific version / applying custom temporary constraints
2020-05-05 17:03:49 +02:00
Nils Adermann ff0717ad66
Merge pull request #8859 from Seldaek/deduplicate-problems
Deduplicate require/conflict rules which are the same but for different versions of the same package
2020-05-05 16:19:07 +02:00
Nils Adermann 678abdbc9f
Merge pull request #8873 from Seldaek/version_selector_platform
Use all PlatformRepo packages in VersionSelector checks
2020-05-04 22:20:11 +02:00
Jordi Boggiano 1d68e85433
Fix usage 2020-05-04 22:04:57 +02:00
Jordi Boggiano ef3797cdd6
Cache successful requests to make sure subsequent loadPackages calls do not do the same requests for nothing 2020-05-04 21:58:33 +02:00
Jordi Boggiano 8a2dd1baef
Adjust all usages of VersionSelector to the new API 2020-05-04 21:48:48 +02:00
Jordi Boggiano 419567ba6d
Update VersionSelector to take all platform requirements into account when selecting packages 2020-05-04 21:16:41 +02:00
Jordi Boggiano b11f43f59e
Merge remote-tracking branch 'origin/1.10' 2020-05-04 20:27:34 +02:00
Jordi Boggiano 92aed041e4
Make the VersionSelector take Composer API/Runtime versions into account, refs getsentry/sentry-php#1008 2020-05-04 13:51:34 +02:00
Markus Staab 11930001fb
Added phpdoc types for PoolBuilder (#8862) 2020-05-04 13:34:05 +02:00
Ayesh Karunaratne aa20413990
Improve regex in \Composer\Downloader\SvnDownloader::getCommitLogs() by removing unnecessary greedy operator 2020-05-04 01:03:15 +07:00
Ayesh Karunaratne d4c8478df5
Improve regex in \Composer\Repository\ComposerRepository::fetchFile() by removing unnecessary greedy operator 2020-05-04 00:38:53 +07:00
Helmut Hummel 7c891701e6 Fix package sorting
PackageSorter weighs the importance of a package
by counting how many times it is required by other packages.
This works by calculating the weight for each package name.

However currently the package index of the package array
is currently passed the weigh function, which basically
disables package sorting.

The reason for that is, that a package repository previously
returned the package list as associative array with  package name as keys,
but currently just as an array with integer keys.

Therefore we must extract the package name from the package
before passing it to the weigh function.
2020-05-03 16:31:47 +02:00
Jordi Boggiano 1d077ede70
Merge branch '1.10' 2020-05-01 18:08:22 +02:00
Jordi Boggiano bfe71fb952
Fix support for --self --name-only, fixes #8844 2020-05-01 18:03:22 +02:00
Jordi Boggiano 4ce3836f51
Fix creation of a php: dir when running create-project, fixes #8849 2020-05-01 17:23:32 +02:00
Jordi Boggiano 7f308d986e
Add --with to update command to allow downgrading to a specific version/applying custom temporary constraints, fixes #8756 2020-05-01 16:56:17 +02:00
Jordi Boggiano 3a64acb53e
Make sure versions are ordered also in the satisfied by package lists 2020-05-01 15:54:01 +02:00
Jordi Boggiano 56a11b9c2c
Deduplicate require/conflict rules which are the same but for different versions of the same package, fixes #8851 2020-05-01 15:41:54 +02:00
Jordi Boggiano 56811b4c8f
Exclude platform require/provides from InstalledVersions as concrete ones are also not listed 2020-05-01 13:10:50 +02:00
Jordi Boggiano 557fb873ee
Add a way to retrieve the Loop instance from Composer to be able to wait on promises to integrate things 2020-05-01 09:54:41 +02:00
Jordi Boggiano 3c593b0d12
Remove duplicate use statement 2020-04-30 21:36:17 +02:00
Jordi Boggiano 74a63b4d6b
Merge branch '1.10' 2020-04-30 21:31:29 +02:00
Jordi Boggiano 81bf47ffa2
Use fully qualified calls in hot classes 2020-04-30 21:28:05 +02:00
Alessandro Lai ff05150c4e Add composer-runtime-api version constant 2020-04-29 09:02:51 +02:00
Basil Peace 6140897d08 feat: add archive.name config option 2020-04-29 01:01:48 +03:00
Alessandro Lai 270c7c3262
Backport validation support for composer-runtime-api (#8842)
Fixes #8841
2020-04-28 16:04:00 +02:00
Nils Adermann 56edd53046 Remove unnecessary implementation of interface method in abstract class 2020-04-28 11:57:03 +02:00
Jordi Boggiano a63913c245
Merge pull request #8836 from kbacia7/master
close #8784, Added --locked option to composer show command. Displaying locked packages with --all option
2020-04-28 08:54:16 +02:00
Kamil Bacia 0779308076
close #8784, Added --locked option to composer show command. Displaying locked packages with --all option 2020-04-27 21:53:12 +02:00
Nils Adermann 994a5b41c2
Provide default impl for abstract method in interface for PHP < 5.3.9 (#8837) 2020-04-26 09:15:15 +02:00
Jordi Boggiano d173af2d7a
Fix check-platform-reqs command to take into account provide/replace from the root package 2020-04-24 13:46:18 +02:00
Jordi Boggiano 6a6ea6057f
Handle provider/replacer packages and avoid checking extensions which are provided by packages, refs #8546 2020-04-24 13:38:50 +02:00
Jordi Boggiano d494df61ff
Make sure platform-check returns a non-0 exit code if it fails 2020-04-24 13:25:13 +02:00
Jordi Boggiano 755a73baa9
Only check for pcntl on cli SAPI, fixes #8828 2020-04-23 20:44:14 +02:00
PirxDanford 3a7ea25289
Introduce --no-install option for the update, require and remove commands
Closes #8669, fixes #8551

Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2020-04-23 14:55:07 +02:00
effulgentsia 46efcefefa
Added --json and --merge options to ConfigCommand (#8779) 2020-04-23 14:27:14 +02:00
Jordi Boggiano 1d4185b844
Recommend ocramius/package-versions fork if needed to solve dependencies 2020-04-23 13:51:57 +02:00
Jordi Boggiano 34801239f1
Tweak problem wording slightly 2020-04-23 13:17:34 +02:00
Jordi Boggiano cdc6a87e8d
Fix docblock 2020-04-23 11:01:44 +02:00
Jordi Boggiano 9b8694bc0b
Show suggestions from root package in suggest, and lists them in count only on first install of a project, fixes #8805 2020-04-23 10:53:24 +02:00
Jordi Boggiano 6529fabb24
Add isFresh to InstalledRepositoryInterface and make sure local repo is always an InstalledRepositoryInterface 2020-04-23 10:52:33 +02:00
Jordi Boggiano fa14cd1353
Show number of additional suggestions when not using --all, fixes #8788 2020-04-23 10:23:56 +02:00
Jordi Boggiano d6a9d78309
Merge pull request #8810 from heddn/8809_expand_context_post_file_download
#8809: expand context for post file download event
2020-04-22 17:14:45 +02:00
Jordi Boggiano 7049bbb714
Switch require_once to require for autoload_static as the once variant seems unnecessary 2020-04-22 17:05:37 +02:00
Jordi Boggiano c2f77d80bd
Remove usage of 5.6+ constant 2020-04-22 16:40:42 +02:00
Jordi Boggiano 1000d49145
Fix error reporting when the root version changed since the last update, and does not match circular deps in lock file anymore 2020-04-22 14:02:09 +02:00
Jordi Boggiano 0ab48a1773
Add composer-runtime-api platform package 2020-04-22 12:10:09 +02:00
Jordi Boggiano 0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions 2020-04-22 12:10:09 +02:00
Jordi Boggiano 4ba958f08e
Merge pull request #8816 from staabm/patch-2
fixed typo in phpdocs
2020-04-22 07:38:54 +02:00
Pierre Grimaud a42c6ceff3 Fix typos 2020-04-22 00:43:34 +02:00
Jordi Boggiano 2c8a4a1b93
Add platform-check config option to disable platform_check.php generation, and disable it for Composer 2020-04-21 15:25:35 +02:00
Markus Staab 3c09e4021e
fixed typo 2020-04-21 15:04:47 +02:00
Jordi Boggiano af18c2bd7d
Update semver, fix poolbuilder usage and optimize creation of filtering nameConstraints 2020-04-21 14:50:11 +02:00
Jordi Boggiano c9846d4d3c
Merge pull request #8812 from nicolas-grekas/ext-check
Optimize extension checks
2020-04-21 11:45:26 +02:00
Nils Adermann 75f4116417
Merge pull request #8811 from Seldaek/fix-transaction-order
Fix transaction order
2020-04-21 11:38:59 +02:00
Jordi Boggiano c41bb909ff
Add platform check file in phars, fixes #8813 2020-04-21 11:18:02 +02:00
Nicolas Grekas 6463ab9e49 Optimize extension checks 2020-04-21 09:35:34 +02:00
Yanick Witschi e23710f92d
Implemented php version check in autoload.php (#8546) 2020-04-21 08:59:36 +02:00
Lucas D Hedding 2bf2e9fc60 fix failing tests 2020-04-20 14:40:25 -06:00
Jordi Boggiano ba9d4793bc
Fix transaction order 2020-04-20 22:24:00 +02:00
Lucas D Hedding 3e2163de5c #8809: expand context for post file download event 2020-04-20 13:50:42 -06:00
Jordi Boggiano 3f338ee8d9
Make sure versions are sorted before they get trimmed in error output 2020-04-19 15:51:30 +02:00
Jordi Boggiano 424c08d6b2
Fix bug loading ~dev in some circumstances 2020-04-19 15:51:29 +02:00
Jordi Boggiano b3f46979b0
Merge pull request #8802 from kubawerlos/command-validate-no-check-version
Add "no-check-version" option to ValidateCommand
2020-04-18 14:41:38 +02:00
Jordi Boggiano c12a1a6d64
Update flag description 2020-04-18 14:41:04 +02:00
Kuba Werłos a54bf0e2d4 Use flags instead of boolean in ConfigValidator for checking version field 2020-04-18 09:24:54 +02:00
Kuba Werłos 4ec73874cb Add "no-check-version" option to ValidateCommand 2020-04-17 22:38:14 +02:00
Jérôme Tamarelle bd34ff1328
Remove unused property $httpDownloader 2020-04-16 01:14:56 +02:00
Jordi Boggiano 80a7c40c76
Shorten long lists of similar versions in problem output, fixes #8743 2020-04-15 16:47:44 +02:00
Jordi Boggiano 5b54a93751
Fix phpstan build 2020-04-15 00:33:52 +02:00
Jordi Boggiano 44a4429978
Remove PEAR installer/downloader/repos/..., fixes #8778 2020-04-15 00:24:13 +02:00
Nils Adermann 5e9bf532c1
Merge pull request #8786 from Seldaek/unused-flag
Add --unused flag to remove command
2020-04-14 23:51:19 +02:00
Lucas Hedding 1883832ddc
Provides a post download event (#8655) 2020-04-14 23:48:18 +02:00
Jordi Boggiano 11765ddfea
Add --unused flag to remove command, fixes #8283 2020-04-14 23:42:49 +02:00
Jordi Boggiano 6bed9d8f13
Implement count and search correctly in FilterRepository 2020-04-14 22:55:53 +02:00
Jordi Boggiano a0c5d519e9
Restore --no-suggest but mark it deprecated, remove --no-custom-installers and mark --dev also deprecated with stronger wording 2020-04-14 22:35:13 +02:00
Markus Staab 3819b02fea
added phpstan types to `CompletePackageInterface` (#8782) 2020-04-14 22:05:58 +02:00
Alexandre D'Eschambeault e0e2bb11a5
Fix typo: directory instead of directoy 2020-04-13 19:45:35 -04:00
Jordi Boggiano be1ddcf293
Fix handling of svn trunk in version guesser, fixes #8765 2020-04-13 12:48:43 +02:00
Jordi Boggiano 876136022b
Merge remote-tracking branch 'origin/1.10' 2020-04-13 12:41:30 +02:00
Jordi Boggiano 19902ba6a9
Merge pull request #8772 from villfa/fix/8771
Dispatch POST_STATUS_CMD even when there is no changes
2020-04-13 12:41:02 +02:00
Jordi Boggiano 2e7ace238a
Merge pull request #8767 from cebe/package-name-double-dash
Allow duplicate dashes in package names (1.10)
2020-04-13 12:37:41 +02:00
Jordi Boggiano 7d3f45cf04
Avoid errors in cleanup, fixes #8766, fixes #8764 2020-04-13 12:15:17 +02:00
Jordi Boggiano 62fda2ed85
Reorg ComposerRepository to fix tests 2020-04-13 12:10:31 +02:00
Jordi Boggiano 048781c268
Fix whatProvides function declaration 2020-04-13 12:02:59 +02:00
Jordi Boggiano 3dd6dbe14a
Merge pull request #8774 from Ayesh/https
Update HTTP URLs to their HTTPS if they already redirect automatically
2020-04-13 11:52:21 +02:00
Jordi Boggiano 4ea6b1ef55
Make all params non-optional 2020-04-13 11:49:51 +02:00
Ayesh Karunaratne fdb35a6a06
Fix \Composer\Installer\PackageEvent::__construct() and \Composer\Repository\ComposerRepository::isVersionAcceptable() required arguments used after optional, which is deprecated in PHP 8.0
1. `Deprecated: Required parameter $name follows optional parameter $constraint in src\Composer\Repository\ComposerRepository.php on line 745`

2. `Deprecated: Required parameter $operation follows optional parameter $operations in src\Composer\Installer\PackageEvent.php on line 73`

Optional parameters with a type declared, and a default value of `null` is excepted from this deprecation. See https://php.watch/versions/8.0/deprecate-required-param-after-optional. This is the case in `ComposerRepository::isVersionAcceptable`, which still has two optional parameters as first two parameters, but this will not raise a deprecation notice.
2020-04-13 07:12:35 +07:00
Ayesh Karunaratne 280f02b4bc
Update HTTP URLs to their HTTPS if they already redirect automatically 2020-04-13 06:22:02 +07:00
Fabien Villepinte c718579623 Dispatch POST_STATUS_CMD even when there is no changes 2020-04-12 14:35:23 +02:00
Carsten Brandt 960fa4b205
Allow duplicate dashes in package names
fixes #8749
1.10 implementation of #8750
2020-04-10 19:01:06 +02:00
Jordi Boggiano 40a35abb94
Resolve options when creating requests to fix 5.3 build 2020-04-10 12:24:43 +02:00
Jordi Boggiano 4cb74d33e6
Forward default HttpDownloader options to RemoteFilesystem/CurlDownloader, fixes #8757 2020-04-10 12:10:30 +02:00
Jordi Boggiano 86cfbdc541
Merge branch '1.10' 2020-04-10 11:45:48 +02:00
Jordi Boggiano 2f7e901940
Fix #8748 in an alternative way to avoid messing with PATH for other binaries, fixes #8758 2020-04-10 11:42:52 +02:00
Jordi Boggiano b3dbd95332
Fix PHP <5.6 syntax, fixes #8759, closes #8760 2020-04-10 11:34:00 +02:00
Jordi Boggiano a7ad186c89
Return early in case a call to the wrapped repo is unnecessary 2020-04-09 17:12:35 +02:00
Jordi Boggiano 096b507050
Merge branch '1.10' 2020-04-09 17:07:58 +02:00
Jordi Boggiano e121de35a3
Fix variable used for symlinking absolute paths, refs #8700 2020-04-09 17:01:48 +02:00
Jordi Boggiano f70b3b0152
Avoid warning about --2 usage when no channel is requested 2020-04-09 16:25:10 +02:00
Jordi Boggiano 8e664a37f5
Merge branch '1.10' 2020-04-09 16:13:15 +02:00
Jordi Boggiano b79f2b5e0f
Make sure scripts calling composer call the correct composer binary even if the project requires composer/composer, fixes #8748 2020-04-09 15:43:47 +02:00
Jordi Boggiano ccc8829ed9
Allow forcing self-update to stick to 1.x or 2.x using --1 and --2 flags, fixes #8753 2020-04-09 15:17:30 +02:00
Jordi Boggiano 28d26bd3a4
Merge pull request #8755 from Seldaek/repo-filtering
Add options to configure repository priorities
2020-04-09 14:02:33 +02:00
Markus Staab 6f6974df70
added phpdocs (#8754) 2020-04-09 13:44:30 +02:00
Jordi Boggiano b6bad4eef6
Add options to configure repository priorities 2020-04-09 13:39:06 +02:00
Jordi Boggiano 59c831c2f8
Add docs to loadPackages 2020-04-09 11:50:37 +02:00
Jordi Boggiano e34a2a9f45
Remove unused used vars 2020-04-09 11:23:25 +02:00
Jordi Boggiano 8b0da77a1d
Make sure cleanup is called for every package in case any operation fails to execute 2020-04-09 10:48:48 +02:00
Jordi Boggiano 55f122008b
Make sure we avoid cleanup running more than once per package on VcsDownloader 2020-04-09 10:32:59 +02:00
Matthias Van Woensel 067101dbf5
Only send GitHub API token to api.github.com domain (#8747) 2020-04-09 09:58:34 +02:00
Jordi Boggiano 0aaa815268
Merge branch '1.10' 2020-04-09 09:51:35 +02:00
Bingqing Wang 46db638678
fix typo 2020-04-09 09:50:38 +02:00
Bingqing Wang 63eb178297
compatible with symfony/console 5.0.0 getVerticalBorderChars() method 2020-04-09 09:50:19 +02:00
Jordi Boggiano aa6be02c64
Allow COMPOSER_DISABLE_NETWORK to work with GitHubDriver by doing a cache priming pass first 2020-04-08 17:53:15 +02:00
Jordi Boggiano 9575c7623f
Update changelog, add upgrade guide 2020-04-08 16:44:32 +02:00
Jordi Boggiano ee09b75be3
Clean ups 2020-04-08 15:55:51 +02:00
Jordi Boggiano 8930f1b824
Add color to lock operations and dry run output 2020-04-08 15:18:28 +02:00
Jordi Boggiano 2e64e8dc2e
Avoid generating duplicate aliases in lock file if several aliased packages are installed 2020-04-08 14:18:38 +02:00
Jordi Boggiano 64f907f93f
Fix handling of aliases to use consistent format everywhere 2020-04-08 12:31:02 +02:00
Jordi Boggiano a695f686c3
Add some docblocks and make sure RepositorySet/PoolBuilder accept regular rootAliases and not pre-normalized ones 2020-04-08 11:46:06 +02:00
Markus Staab 593d5abf27
use more precise phpstan/psam return-types (#8744) 2020-04-08 10:01:09 +02:00
Jordi Boggiano 736af4cb58
Add with-all-dependencies and update-with-all-dependencies args to remove command 2020-04-07 16:13:56 +02:00
Jordi Boggiano 52d1b52eb6
Merge branch '1.10' 2020-04-07 16:07:05 +02:00
Jordi Boggiano 11999118a5
Avoid failing on malformed funding info, fixes #8731 2020-04-07 16:04:58 +02:00
Jordi Boggiano a8eec36931
Merge branch '1.10' 2020-04-07 16:00:11 +02:00
Jordi Boggiano 96c1ba279a
Add infos about plugin install failure 2020-04-07 15:55:59 +02:00
Markus Staab c30925e68d
extracted `VersionParser::DEV_MASTER_ALIAS` (#8742) 2020-04-07 15:49:07 +02:00
Jordi Boggiano b166ef4b58
Fix more phpstan errors 2020-04-07 14:57:37 +02:00
Jordi Boggiano bbc4854452
Merge pull request #8740 from renanbr/patch-1
Remove duplicated `dry-run` option
2020-04-07 14:43:41 +02:00
Jordi Boggiano 80505e745e
Fix phpstan issues 2020-04-07 14:40:51 +02:00
Adam Žurek 25cd2382cb
Raise phpstan level to 1 (#8027) 2020-04-07 14:13:50 +02:00
Nils Adermann cb68fc3134
Merge pull request #8690 from Seldaek/solver-problems
Error reporting improvements
2020-04-07 13:27:46 +02:00
Jordi Boggiano d34ea60c48
canonicalize providers api url 2020-04-07 13:09:22 +02:00
Jordi Boggiano 3e19e3b0f1
Show alias of version in package lists in problems 2020-04-07 13:06:05 +02:00
Jordi Boggiano 7cca451312
Fix more issues with dev-master normalization in aliases 2020-04-07 13:06:04 +02:00
Jordi Boggiano e09dd9c10d
Detect packages which are only available in lock file and warn appropriately 2020-04-07 13:06:04 +02:00
Jordi Boggiano 8945936dbd
Deduplicate solver problems which list problems for dev-master AND 9999999-dev 2020-04-07 13:06:03 +02:00
Renan c4a3e912a1
Remove duplicated `dry-run` option 2020-04-07 12:28:17 +02:00
Nils Adermann 415b36a1a1 Remove match types from Pool as these are no longer used 2020-04-07 11:11:18 +02:00
Nils Adermann 80a5fdf398 Remove obsolete rules and their generation
The only automatic conflict we have results from packages using the same name
either by literally having the same name and being different versions or they
replace the same name, so

- removed all types of obsolete rules
- simplified rule generation significantly
- got rid of provide filtering in the pool
- fixed some language in error handling
2020-04-07 11:11:18 +02:00
Nils Adermann 4e3d989978 A package providing a name should not conflict with a package replacing it
Simplified whatProvides, mustMatchName is unused, removed unused
function from policy
2020-04-07 11:08:47 +02:00
Jordi Boggiano 2b86df4003
Add a hint about being on v2 when things go wrong 2020-04-07 10:05:53 +02:00
Jordi Boggiano 87757de6bc
Merge branch '2.0' 2020-04-07 09:39:00 +02:00
Jordi Boggiano 1c73f078f7
Remove repository field from getProviders result 2020-04-06 21:17:03 +02:00
Nils Adermann 4fab2c7759 Error wording use "thus cannot" instead of "can thus not" 2020-04-02 16:02:17 +02:00
Jordi Boggiano 51c48b1519
Merge pull request #8729 from naderman/t/partial-update-always-update-replace
Give a clearer error message explaining how to update a conflicting locked dependency
2020-04-02 15:54:45 +02:00
Nils Adermann 9858718ef6 Give a clearer error message explaining how to update a conflicting locked dependency 2020-04-02 15:32:02 +02:00
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
rbairwell 550c01b471 Fixes a problem with path based repositories on PHP7.4 where an attempt is made to access null as an array 2019-08-27 20:53:57 +01:00
David Szkiba 0500e64f88 Respect COMPOSER_NO_INTERATION for search prompt.
As described in GH-8289, if no `composer.json` file is found in the current
directory, the user is prompted if she wants to use another `composer.json` file
from a parent directory even if the `COMPOSER_NO_INTERACTION` environment
variable is set.  This is fixed here by just moving the check of the environment
variable up in the code so that it is evaluated before the user is prompted.
2019-08-25 17:25:44 +02:00
Stephan Vock f9fccbab1e GitHub: don't display access token in debug log 2019-08-21 10:07:36 +01:00
Jordi Boggiano 4dabc17ec1
Fix use statement 2019-08-02 22:21:52 +02:00
Jordi Boggiano bfee701f9b
Deduplicate findHeaderValue code 2019-08-02 21:54:41 +02:00
Jordi Boggiano 63da7c6b2d
Add install-path to the installed.json for every package, fixes #2174, closes #2424 2019-08-02 21:39:42 +02:00
Jordi Boggiano 8dfadd99d1
Merge branch '2.0' into fix/unused 2019-08-02 16:38:53 +02:00
Jordi Boggiano 9ee345ed29
Make sure the directory exists and will not block installation later when downloading 2019-08-02 16:33:39 +02:00
Jordi Boggiano 6a7220fed8
Avoid wiping the whole target package if download of the new one fails, refs #7929 2019-08-02 15:57:44 +02:00
Jordi Boggiano 898ba6f869
Only empty dir before actually installing packages, fixes #7929 2019-08-02 15:53:19 +02:00
Jordi Boggiano f7c1b04a6c
Improve output when installing packages 2019-08-02 14:26:42 +02:00
Jordi Boggiano 76a2c63bf8
Show best possible version in diagnose command 2019-08-02 14:00:34 +02:00
Jordi Boggiano 08d661ceca
Merge branch 'master' into 2.0 2019-08-02 13:45:56 +02:00
Jordi Boggiano 96ad0aa01f
Remove extra arg 2019-08-02 13:45:43 +02:00
Jordi Boggiano 1002fb12fc
Merge branch 'master' into 2.0 2019-08-02 13:26:03 +02:00
Jordi Boggiano 872604ab36
Allow path repos to point to their own source dir as install target, resulting in noop, fixes #8254 2019-08-02 13:25:11 +02:00
Jordi Boggiano b5014e9aed
Fix use of decodeJson 2019-08-02 12:19:12 +02:00
Jordi Boggiano 300a888470
Merge pull request #7995 from Seldaek/plugin-deactivation
Plugin deactivation/uninstall support
2019-08-01 18:11:49 +02:00
Jordi Boggiano 3ef27cabd6
Merge pull request #7999 from Seldaek/store_dev
Store dev mode in installed.json, fixes #3008
2019-08-01 17:59:09 +02:00
Jordi Boggiano 362ebe4f68
Fix update mirrors to also update transport-options, fixes #7672 2019-07-31 18:43:18 +02:00
Jordi Boggiano db6882b57f
Fix updating or URLs to include dist type and shasum, fixes #8216 2019-07-31 18:36:27 +02:00
Jordi Boggiano 0a152b06d7
Merge branch 'master' into 2.0 2019-07-31 18:12:00 +02:00
Jordi Boggiano 0fe200d6d9
Fix origin computation 2019-07-31 18:01:08 +02:00
Jordi Boggiano 6c4357a7ed
Merge branch 'master' into 2.0 2019-07-31 17:50:01 +02:00
Jordi Boggiano 0261ce8092
Improve handling of non-standard ports for GitLab and GitHub installs, fixes #8173 2019-07-31 17:41:18 +02:00
Jordi Boggiano 5ddc40e93c
Load packages from the lock file for check-platform-reqs if no dependencies have been installed yet, fixes #8058 2019-07-31 15:21:32 +02:00
Thomas Perez 3e66d0514a Fix error_handler return type declaration 2019-07-30 18:45:41 +02:00
Jordi Boggiano 26a3e12c96
Merge pull request #7994 from aschempp/feature/zip-util
Extract the ZIP utility functions from ArtifactRepository
2019-07-30 11:36:10 +02:00
Jordi Boggiano 3f5e4f0399
Add support for defining a {"packagist.org":false} repo in composer init, fixes #8210 2019-07-30 10:58:36 +02:00
Jordi Boggiano 14f2a6dd9a
Fix remove command not working with escaped slashes (e.g. foo\/bar), fixes #8249 2019-07-30 09:48:49 +02:00
Jordi Boggiano 1a391b572c
Prevent require command from allowing a package to require itself, fixes #8247 2019-07-30 09:18:19 +02:00
Jordi Boggiano 5de4a16115
Merge pull request #8221 from magnetik/ignore-platform-reqs-conflicts
Ignore platform reqs now handle conflict rules
2019-07-30 07:27:50 +02:00
Jordi Boggiano 7edd689533
Merge pull request #8243 from carusogabriel/remove-explict-void-return
Remove explicits void returns
2019-07-29 18:08:32 +02:00
Jordi Boggiano d9c2f00891
Merge pull request #8240 from carusogabriel/remove-unused-private-properties
Remove unused private properties
2019-07-29 18:06:55 +02:00
Jordi Boggiano 8958f40f94
Make sure resetting composer also resets the IO and configuration, fixes #8224 2019-07-29 17:57:25 +02:00
Jordi Boggiano 33759d02c4
Fix require command to allow working on network mounts, fixes #8231 2019-07-29 17:42:34 +02:00
Jordi Boggiano 79e4ff4373
Merge pull request #8186 from freality/script_event_originating
allow Composer\Script\Event to reference originating event
2019-07-29 16:46:06 +02:00
Jordi Boggiano 369e8a2247
Fix indenting 2019-07-29 16:44:50 +02:00
Jordi Boggiano 45591597f6
Clarify how check-platform-reqs works, fixes #8191 2019-07-29 16:38:01 +02:00
Gabriel Caruso 8b5be1d08c
Remove explicts void returns 2019-07-24 03:07:25 +02:00
Gabriel Caruso 6c8ddd4d57
Remove unused private properties 2019-07-24 02:53:53 +02:00
Baptiste Lafontaine a4611d511f Ignore platform reqs now handle conflict rules 2019-07-11 16:48:57 +02:00
Nils Adermann 9053d74282 Merge branch '2.0' into solve-without-installed
* 2.0: (101 commits)
  SVN: hide passwords for debug output
  Free $solver asap
  fixes #8179
  [minor] Fixed a typo in the CHANGELOG.md.
  Update deps
  Update changelog
  Revert "Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET" Revert "Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151"
  Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151
  Fix display of HHVM warning appearing when HHVM is not in use, fixes #8138
  Read classmap-authoritative and apcu-autoloader from project config when installing via create-project, fixes #8155
  Use possessive quantifiers
  Update xdebug-handler to 1.3.3
  fixes #8159
  Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET
  flag should come before script name
  use full command name, not abbreviated/alias
  modify text
  Document the alternatives to disable the default script timeout
  Anchor pattern
  Fix URL resolution for Composer repositories
  ...
2019-06-27 14:35:36 +02:00
Nils Adermann d2fa1e1319 Merge branch 'master' into 2.0
* master: (48 commits)
  SVN: hide passwords for debug output
  Free $solver asap
  fixes #8179
  [minor] Fixed a typo in the CHANGELOG.md.
  Update deps
  Update changelog
  Revert "Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET" Revert "Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151"
  Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151
  Fix display of HHVM warning appearing when HHVM is not in use, fixes #8138
  Read classmap-authoritative and apcu-autoloader from project config when installing via create-project, fixes #8155
  Use possessive quantifiers
  Update xdebug-handler to 1.3.3
  fixes #8159
  Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET
  flag should come before script name
  use full command name, not abbreviated/alias
  modify text
  Document the alternatives to disable the default script timeout
  Anchor pattern
  Fix URL resolution for Composer repositories
  ...
2019-06-27 14:08:00 +02:00
Nils Adermann e022c07370 Merge branch '1.8'
* 1.8:
  SVN: hide passwords for debug output
2019-06-27 14:06:49 +02:00
Jordi Boggiano 32ca426e38
Merge remote-tracking branch 'origin/1.8' 2019-06-25 11:29:25 +02:00
Stephan Vock 8da046e4e9 SVN: hide passwords for debug output 2019-06-23 18:59:36 +01:00
Nicolas Grekas 89d5d8f182 Free $solver asap 2019-06-21 18:34:16 +02:00
Rob Bast 7399638e43 fixes #8179 2019-06-17 10:48:19 +02:00
Ken Love b51cfce8e6 return the upper-most event in chain 2019-06-13 14:51:27 -04:00
Ken Love 81a4f74b5b Composer\Script\Event should have access to originating event details 2019-06-12 16:54:09 -04:00
Jordi Boggiano 3d88108dea
Merge branch '1.8' 2019-06-07 17:25:54 +02:00
Jordi Boggiano b4e5db1c70
Revert "Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET"
Revert "Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151"

This reverts commit e7eecc6901.
This reverts commit faa7c5eea2.
2019-06-07 17:25:09 +02:00
Jordi Boggiano 79a300eaac
Merge branch '1.8' 2019-06-07 16:58:37 +02:00
Jordi Boggiano 088fb56c3d
Fix display of HHVM warning appearing when HHVM is not in use, fixes #8138 2019-06-07 16:55:22 +02:00
Jordi Boggiano 9d642fe9af
Merge pull request #8085 from danepowell/issue-8065-2
Fixes #8065: Sort plugins deterministically before loading.
2019-06-07 16:53:49 +02:00
Jordi Boggiano de10fef39c
Merge pull request #8160 from alcohol/fix-8159
fixes #8159
2019-06-07 16:50:51 +02:00
Jordi Boggiano 4afd50fec6
Merge pull request #8151 from naderman/self-update-target
Allow overriding self-update target file with env var COMPOSER_SELF_UPDATE_TARGET
2019-06-07 16:47:39 +02:00
Jordi Boggiano 472348a708
Merge pull request #8136 from pfofi/fix-urlCanon
Fix URL resolution for Composer repositories
2019-06-07 15:46:06 +02:00
Jordi Boggiano fbb964888d
Merge branch '1.8' 2019-06-07 13:12:21 +02:00
Jordi Boggiano 659c72f9c8
Read classmap-authoritative and apcu-autoloader from project config when installing via create-project, fixes #8155 2019-06-07 13:12:10 +02:00
Jordi Boggiano a8609ecf88
Merge pull request #8097 from ShiraNai7/fixStaticAutoloadPharPaths
Handle absolute phar:// paths in autoload_static.php
2019-06-07 12:26:49 +02:00
pfofi 82825ccc74 Use possessive quantifiers 2019-06-07 09:13:11 +02:00
Rob Bast bd6b758a1b
fixes #8159
expand interface and add missing methods to aliaspackage
2019-05-29 08:48:51 +02:00
Nils Adermann faa7c5eea2 Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET
Useful if Composer is provided on a read-only filesystems, to allow
self-update to work with a different destination
2019-05-19 21:10:15 +02:00
pfofi e7f02be9ff Anchor pattern 2019-05-11 16:27:39 +02:00
pfofi c751914410 Fix URL resolution for Composer repositories
Composer was unable canonicalize URLs in non-HTTP(S) Composer
repositories. For example it was not possible to use a `providers-url`
in a repository loaded via the `file://` scheme.

See also: #8115
2019-05-10 13:55:31 +02:00
Sam L 8288d2c456 Display branches and tags if verbose is specified 2019-05-09 08:38:34 +02:00
Rob Bast 51753bc08c fixes #8131 2019-05-08 15:02:59 +02:00
Stephan Vock e37ffb2a44 Fix: Bitbucket getChangeDate throws exception for branches containing a slash 2019-04-30 21:39:30 +02:00
Nicolas Grekas 794234946c Let curl handle proxy and cipher list itself 2019-04-15 16:23:38 +02:00
ShiraNai7 a2b647a99e Handle absolute phar:// paths in autoload_static.php 2019-04-11 20:23:31 +02:00
Dane Powell 188e2b0044
Merge branch 'master' into issue-8065-2 2019-04-09 11:15:33 -07:00
Dane Powell 3501423eab
Undo previous change. 2019-04-09 11:15:19 -07:00
Dane Powell d4150cafc4
Move sortPackages to static helper class. 2019-04-09 10:59:02 -07:00
Dane Powell 266a41e046
Refactor sortPackageMap to depend on separate sortPackage function. 2019-04-09 10:58:47 -07:00
Marc Würth d2ab4f66fd
Extract job packageName & constraint to variables 2019-04-09 13:06:33 +02:00
Jordi Boggiano 2b421a94cb
Merge branch '1.8' 2019-04-09 13:05:02 +02:00
Elan Ruusamäe 12e683e2ee
ext-imagick: support version string from ImageMagick 6.x 2019-04-09 12:49:25 +02:00
Jordi Boggiano 17810b2621
Revert composer.json changes if update process throws, fixes #8062 2019-04-09 12:47:24 +02:00
Kevin Boyd 5633a68689 Add a helper to disable process timeouts
The helper can be included in custom script definitions by calling
"Composer\\Config::disableProcessTimeout".

Example:

{
  "scripts": {
    "watch": [
      "Composer\\Config::disableProcessTimeout",
      "vendor/bin/long-running-script --watch"
    ]
  }
}
2019-04-08 22:44:08 -07:00
Dane Powell a908e22a91
Fixed code style issues. 2019-04-06 08:53:32 -07:00
Dane Powell 3e6300b5e8
code style fix. 2019-04-06 08:49:45 -07:00
Dane Powell 043b33ed38
Fixes #8065: Sort plugins deterministically before loading. 2019-04-06 08:44:23 -07:00
Jordi Boggiano 717c21b78a
Merge remote-tracking branch 'PReimers/issue-8004' 2019-04-05 16:03:26 +02:00
Rob Bast 4ea8e48bf8 leading whitespace is optional, but newline is not 2019-04-04 08:45:08 +02:00
Rob Bast 25e3f6d4b9 expand regex and testcases 2019-04-04 08:31:26 +02:00
Rob Bast 971528916b fix regex for heredoc/nowdoc
* take into account relaxed changes introduced in php 7.3
  * see: 4887357269
* allow " as well as ', which was introduced in php 5.3

closes #8080
2019-04-03 10:46:35 +02:00
Jordi Boggiano 0317199507
Merge branch 'master' into 2.0 2019-04-01 18:03:34 +02:00
Jordi Boggiano a186620210
Merge branch '1.8' 2019-04-01 18:01:19 +02:00
Jordi Boggiano 625bcee63a
Fix handling of warnings to incl all 4xx responses 2019-04-01 18:01:09 +02:00
Marc Würth fb8b06edef Remove unused local variable 2019-03-21 19:44:49 +01:00
Jordi Boggiano f5e1a36f57
Merge pull request #8042 from Novicaine/patch-1
Fix for UNC Windows paths
2019-03-19 11:34:39 +01:00
Jordi Boggiano 8944627245
Fix syntax and backslash escaping 2019-03-19 11:34:23 +01:00
Novicaine 486b25fd30
Fix for UNC Windows paths
Made isAbsolutePath recognize Windows UNC-style absolute paths starting with \\
2019-03-15 13:15:01 -05:00
Christian Ego 7c64300a1b using emptyDirectory instead of remove for clearing the cache 2019-03-11 10:24:39 +01:00
Patrick Reimers 8ae8d131d5
Add deprecation warning for name attribute 2019-03-05 10:44:55 +01:00
Jordi Boggiano 522ea033a3
Merge branch '1.8' 2019-03-04 17:26:35 +01:00
Markus Staab c876613d5c Added "Read more at" links to all commands (#8019) 2019-03-04 12:55:38 +01:00
Jordi Boggiano e3f68016ac
Merge branch '1.8' 2019-03-04 11:59:16 +01:00
Jordi Boggiano d96d046209
Fix require of platform packages with --ignore-platform-reqs, fixes #8012 2019-03-04 11:38:58 +01:00
Andreas Schempp 0e2215dc6c Added full unit test coverage 2019-03-04 11:08:59 +01:00
Andreas Schempp a91fd20673 Return the composer.json content instead of a zip:// path 2019-03-04 09:54:35 +01:00
Jordi Boggiano 9d139cb694
Merge branch '1.8' 2019-03-04 08:53:46 +01:00
Jordi Boggiano 6bce9da8c8
Only keep track of empty references that returned a 404 2019-03-04 08:53:18 +01:00
Patrick Reimers 627a832cc1
Return non zero exit code on deprecation 2019-03-01 19:39:07 +01:00
Andreas Schempp 0d0cb53f31 Adjust Zip Util to only find the root composer.json 2019-03-01 11:06:03 +01:00
Jordi Boggiano ba1e5c213c
Merge branch '1.8' 2019-02-27 15:07:33 +01:00
Jordi Boggiano 6473dd9185
Minor improvements to VersionCacheInterface 2019-02-27 15:03:25 +01:00
Andreas Schempp 05d6b21785 Use self:: for private method 2019-02-25 08:02:04 +01:00
Andreas Schempp 9de07bed1b Fixed docblocks 2019-02-25 08:01:38 +01:00
Jordi Boggiano f77285916a
Clean up temp file on curl request failure and make sure the response body is avaiable on 3xx/4xx/5xx responses 2019-02-21 15:28:50 +01:00
Jordi Boggiano d37642d9f2
Add missing use 2019-02-21 14:59:28 +01:00
Jordi Boggiano 3f5a986170
Show warning in all 400/500 responses if available, fixes #7814 2019-02-21 14:49:06 +01:00
Jordi Boggiano 5f988a34a6
Merge branch 'master' into 2.0 2019-02-21 14:08:56 +01:00
Jordi Boggiano 60f198c17d
Update target version 2019-02-21 14:06:41 +01:00
Jordi Boggiano 43a43f3cdf
Merge branch '1.8' 2019-02-21 14:06:17 +01:00
Jordi Boggiano 0f36a42d61
Allow filtering of warning/info msgs by composer version 2019-02-21 14:05:56 +01:00
Jordi Boggiano 4271167495
Improve version reporting 2019-02-21 14:05:12 +01:00
Jordi Boggiano ba346ef04d
Add forward compatibility for upcoming v2 installed.json format, refs #7999 2019-02-21 12:57:27 +01:00
Jordi Boggiano 60df892517
Store dev mode in installed.json, fixes #3008 2019-02-21 12:46:02 +01:00
Jordi Boggiano bdf1f7f82b
Fix loading of aliased packages in ComposerRepository when filtering by callback 2019-02-20 13:24:44 +01:00
Jordi Boggiano 2e204b0161
Remove support for the first version of the compression algo (#7906) 2019-02-20 11:10:44 +01:00
Jordi Boggiano 177f21ec5c
Fix loading of dev providers, refs #6415 2019-02-20 10:51:07 +01:00
Jordi Boggiano ff82334124
Load ~dev files as well as main provider files for new v2 protocol, fixes #6415 2019-02-20 09:24:13 +01:00
Jordi Boggiano d3873a0565
Merge branch '1.8' 2019-02-20 08:43:56 +01:00
Jordi Boggiano 61cd8664e5
Avoid creating empty bitbucket files if there was no composer.json present in the original branch/tag 2019-02-20 08:43:40 +01:00
Matthew Brown 65903aacfd Fix type issues (#7996)
* Fix type issues found by Psalm
2019-02-19 15:35:48 +01:00
Jordi Boggiano ab945a6ec1
Clean up RepositoryInterface, fixes #5464 2019-02-19 11:11:55 +01:00
Jordi Boggiano 6c782599f1
Make IOInterface implement psr-4 LoggerInterface, fixes #5180 2019-02-19 10:54:42 +01:00
Jordi Boggiano 3fc9ede24b
Add plugin callbacks for deactivation and uninstall, fixes #3000 2019-02-18 18:14:46 +01:00
Jordi Boggiano 1b7e957cc1
Add EventDispatcher::removeListener to allow deregistration of listeners 2019-02-18 18:12:38 +01:00
Jordi Boggiano d381b3a781
Fix variable name 2019-02-18 16:59:09 +01:00
Jordi Boggiano 7a301d9ad1
Merge pull request #7980 from johnstevenson/safe-junctions2
Improve safe junction logic
2019-02-18 14:30:38 +01:00
CZechBoY a062cd1a31
added phpstan on level 0 2019-02-18 13:05:14 +01:00
Jordi Boggiano 0fd74d1cc4
Fix PerforceDownloader, fixes #7979 2019-02-18 12:28:21 +01:00
Jordi Boggiano 9957807990
Merge branch 'master' into 2.0 2019-02-18 12:25:44 +01:00
Andreas Schempp 4d85e217c3 Extract the ZIP utility functions from ArtifactRepository 2019-02-16 18:46:59 +01:00
Jordi Boggiano 69745745b3
Merge branch '1.8' 2019-02-16 17:56:20 +01:00
Nils Adermann c875f538ea Make root alias behaviour consistent, add root ref handling, lock to newest metadata
root aliases during install should come from the lock file only, for
better reproducibility we don't reuse the value from update for the
following install
2019-02-14 17:57:29 +01:00
Markus Staab 0aa030f09d
Fixed typo introduced in recent fix 2019-02-13 07:26:14 +01:00
johnstevenson 4cf069535f Improve safe junction logic 2019-02-12 15:18:06 +00:00
Markus Staab fc2c445c06 Make sure we properly usleep() on windows rmdir/unlink
usleep() returns void, therefore the previous code didn't work
2019-02-12 13:57:21 +01:00
johnstevenson 6212eadcb0 Only use junctions if they can be safely removed 2019-02-11 22:23:23 +00:00
johnstevenson d1cf69fa92 Remove junctions with PHP rather than system rmdir
PHP will happily remove junctions using its `rmdir` function (tested on
versions back to 5.2.17). This saves invoking system `rmdir` through
cmd.exe.
2019-02-11 13:32:52 +00:00
Jordi Boggiano d788c67547
Merge branch '1.8' 2019-02-11 10:52:53 +01:00
Jordi Boggiano 5ce6ae34a4
Merge pull request #7941 from johnstevenson/junctions
Fix mode bitmask when detecting a Windows junction
2019-02-11 10:18:10 +01:00
Nils Adermann 10ada7bf82 Refactor Installer class into separate install and update processes
- Introduce separate Lock and LocalRepo transactions, one for changes
  to the lock file, one for changes to locally installed packages based
  on lock file
- Remove various hacks to keep dev dependencies updated and
  incorporated the functionality into the transaction classes
- Remove installed repo, there are now local repo, locked repo and
  platform repo
- Remove access to local repo from solver, only supply locked packages
- Update can now be run to modify the lock file but not install packages
  to local repo
2019-02-11 01:00:02 +01:00
Nils Adermann 1211ba1d51 BC break: Remove workaround for loading lock files without dev requires 2019-02-10 20:28:45 +01:00
Nils Adermann 287419f6a0 Merge branch 'master' into 2.0
* master:
  Follow up to #7946 test: add solver flag to assert path execution
  Fix tests
  Make sure config command output is also output on --quiet so that warnings can be hidden, fixes #7963
  Recognize composer-plugin-api as a platform package, fixes #7951
  Quote wildcards to avoid issues in some shells, fixes #7960
  Avoid dumping null values for dist reference/shasum and source reference, fixes #7955
  Soften hard exit after revert of composer file
  Make unixy proxy code POSIX compatible
  Update aliases.md
  Same but for Problem.php
  Better error message for present but incompatible versions
  Fix inconsistent casing
  Don't do (new Foo())->bar() - not 5.3-compatible
  Support identifying the HHVM version when not running with HHVM
2019-02-10 20:28:24 +01:00