2351 Commits (332c46af8bebdead80a2601350dff7af0ac1f490)

Author SHA1 Message Date
Jordi Boggiano 67a88880ec
Get rid of EmptyConstraint 4 years ago
Yanick Witschi c7f10bdd90
Fixed RuleTest 4 years ago
Yanick Witschi bde9502473
Made the constraint argument in Link mandatory 4 years ago
Yanick Witschi 63906171f0
Cleanup EmptyConstraint output 4 years ago
Yanick Witschi b935a76bc6
Removed already covered test 4 years ago
Yanick Witschi 8b4e834675
Added another poolbuilder test to show issue with constraint matching 4 years ago
Yanick Witschi 71fde80048
Fixed test 4 years ago
Yanick Witschi 29611a4d27
Fixed test descriptions 4 years ago
Yanick Witschi 8e2dd62d10
Fixed tests related to constraint changes 4 years ago
Yanick Witschi bca88bdd4b
Fixed PoolBuilder running endlessly when packages do not exist 4 years ago
Yanick Witschi 28f82032cd
And here's the key test :) 4 years ago
Yanick Witschi b87fc5bbfd
Added more poolbuilder test 4 years ago
Nils Adermann 43888cae8c
PoolBuilder: failing test for partial update with multiple deps 4 years ago
Nils Adermann 4f13875f3f
PoolBuilderTest: add new fixtures for partial updates with locked packages 4 years ago
Nils Adermann 85ea29d241
PoolBuilder failing test: do not load alternatives for pkg replaced by fixed pkg 4 years ago
Nils Adermann 208a735645
PoolBuilder Failing test: fixed package is not only pkg loaded for that name 4 years ago
Jordi Boggiano a4a617abb4
Reduce amount of Filesystem/ProcessExecutor instantiations, add lots of docblocks 4 years ago
Jordi Boggiano a66a939b76
Merge pull request #8937 from Seldaek/optim-rules
Optimize rule creation for alias packages
4 years ago
Jordi Boggiano fafa959933
Add test to assert prefer-lowest behavior when conflicting branches prevent absolute lowest version from being installed, closes #7408 4 years ago
Jordi Boggiano 5a4709c3d6
Optimize rule creation for alias packages
This mainly benefits projects running updates with minimum-stability: dev
4 years ago
Jordi Boggiano 1ea3111583
Use RULE_LEARNED instead of RULE_FIXED 4 years ago
Jordi Boggiano 5e5f9f8142
Remove unused RULE_INTERNAL_ALLOW_UPDATE 4 years ago
Jordi Boggiano c8efb50d39
Change the single requirement ignore from --ignore-platform-reqs=xx to --ignore-platform-req=xx to avoid BC issues 4 years ago
Jordi Boggiano 2ddf4346ef
Improve error reporting for RULE_PACKAGE_ALIAS 4 years ago
Jordi Boggiano 0ea9eafcaf
Add rules for aliased packages when an alias is added, fixes #8902 4 years ago
Jordi Boggiano dfccf8c091
Add failing test reproducing the problem of #8902 4 years ago
Jordi Boggiano 537402f814
Add tests for #8861 4 years ago
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 4 years ago
Jordi Boggiano 21e708f2c4
Remove upper bound PHP version checks from platform-check as there is not enough value added and it risks causing issues 4 years ago
Jordi Boggiano b72ac2d01a
Oops 4 years ago
Jordi Boggiano 863e7076ba
Bump to use composer/semver 3.x 4 years ago
Jordi Boggiano d72a07db06
Fix tests 4 years ago
Jordi Boggiano 4e1f8cf89d
Build tweaks 4 years ago
Jordi Boggiano 45d3e133a4
Avoid checking for unbounded constraints in platform checks 4 years ago
Jordi Boggiano 98e5f81a5f
Fix detection of fixed package problems to include more cases, fixes #8910 4 years ago
Jordi Boggiano 22622372bc
Fix complete test suite for v2 4 years ago
Jordi Boggiano 4b1e386fff
Make sure php8 runs tests, and that 7.3 runs complete test suite 4 years ago
Jordi Boggiano f73c8c419c
Merge pull request #8869 from naderman/replace-semver-test
Adding a test to verify replace version overlap with unbound constraints and single versions
4 years ago
Jordi Boggiano dd0c8b4278
Merge pull request #8723 from helhum/fix-package-sorting
Fix package sorting
4 years ago
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
4 years ago
Jordi Boggiano 419567ba6d
Update VersionSelector to take all platform requirements into account when selecting packages 4 years ago
Nils Adermann d15447c454 Add test for replace version overlap 4 years ago
Michael Chekin c23670c3ec
Add Util\AuthHelper unit test coverage (#8863)
* Add AuthHelper::addAuthenticationHeader() test on missing authentication credentials.

* Add AuthHelper::addAuthenticationHeader() test on bearer password.

* Add AuthHelper::addAuthenticationHeader() test on Github token.

* Add AuthHelper::addAuthenticationHeader() test on Gitlab Oauth token.

* Add $authenticationDisplayMessage write expectation to AuthHelper::addAuthenticationHeader() tests.

* Add AuthHelper::addAuthenticationHeader() test on Gitlab private token.

* Add AuthHelper::addAuthenticationHeader() test on Bitbucket Oauth token.

* Add AuthHelper::addAuthenticationHeader() test on Bitbucket public urls.

* Add AuthHelper::addAuthenticationHeader() test on Basic Http Authentication.

* Add AuthHelper::isPublicBitBucketDownload() tests.

* Rename AuthHelperTest $credentials variable to $auth.

* Add AuthHelper::storeAuth() test for auto-store option.

* Add AuthHelper::storeAuth() test for user prompt and y(es) answer.

* Add AuthHelper::storeAuth() test for user prompt and n(o) answer.

* Add AuthHelper::storeAuth() test for user prompt with invalid answer.

* Add AuthHelper::promptAuthIfNeeded() test for Github authentication failure.

- add GitHub hard dependency mock (new GitHub(...) mock)

* Run AuthHelper::promptAuthIfNeeded() tests only with PHP > 5.3

* Run AuthHelper::promptAuthIfNeeded() tests only with PHP >= 5.4

* Run AuthHelper::promptAuthIfNeeded() tests only with PHP 5.4

* Exclude PHPStan analyses of '../tests/Composer/Test/Util/Mocks/*'

* Exclude AuthHelper::promptAuthIfNeeded() tests from current pull request.

* Extract repetitive AuthHelperTest authentication expectation into a method.
4 years ago
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.
4 years ago
Jordi Boggiano 3a64acb53e
Make sure versions are ordered also in the satisfied by package lists 4 years ago
Jordi Boggiano 56a11b9c2c
Deduplicate require/conflict rules which are the same but for different versions of the same package, fixes #8851 4 years ago
Jordi Boggiano 74a63b4d6b
Merge branch '1.10' 4 years ago
Alessandro Lai 270c7c3262
Backport validation support for composer-runtime-api (#8842)
Fixes #8841
4 years ago
Michael Chekin b9be78b689
Additional Util\Bitbucket class test coverage (#8835) 4 years ago
Jordi Boggiano 6a6ea6057f
Handle provider/replacer packages and avoid checking extensions which are provided by packages, refs #8546 4 years ago
Jordi Boggiano d494df61ff
Make sure platform-check returns a non-0 exit code if it fails 4 years ago
Jordi Boggiano d89342dc43
Fix tests 4 years ago
Jordi Boggiano df0cada93f
Add test for #8669 4 years ago
Jordi Boggiano 34801239f1
Tweak problem wording slightly 4 years ago
Jordi Boggiano 8a1e9744a0
Fix tests 4 years ago
Jordi Boggiano 7049bbb714
Switch require_once to require for autoload_static as the once variant seems unnecessary 4 years ago
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 4 years ago
Jordi Boggiano 0d1922dc27
Add a Composer\Versions class which is available in all projects at runtime to query installed packages/versions 4 years ago
Jordi Boggiano bf39fab82d
Add test for root alias presence in lock 4 years ago
Jordi Boggiano 2c8a4a1b93
Add platform-check config option to disable platform_check.php generation, and disable it for Composer 4 years ago
Jordi Boggiano afa18f2092
Fix semver usage 4 years ago
Jordi Boggiano c9846d4d3c
Merge pull request #8812 from nicolas-grekas/ext-check
Optimize extension checks
4 years ago
Nils Adermann 75f4116417
Merge pull request #8811 from Seldaek/fix-transaction-order
Fix transaction order
4 years ago
Nicolas Grekas 6463ab9e49 Optimize extension checks 4 years ago
Yanick Witschi e23710f92d
Implemented php version check in autoload.php (#8546) 4 years ago
Jordi Boggiano ba9d4793bc
Fix transaction order 4 years ago
Jordi Boggiano 17ed09be2e
Add failing test showing that packages fail to be installed if they match a previous alias which was not removed yet 4 years ago
Jordi Boggiano 82502684b2
Allow testing for installed repo state 4 years ago
Jordi Boggiano 3f338ee8d9
Make sure versions are sorted before they get trimmed in error output 4 years ago
Jordi Boggiano 80a7c40c76
Shorten long lists of similar versions in problem output, fixes #8743 4 years ago
Carsten Brandt 3e8021ed06
Add package naming pattern to the composer.json JSON schema
fixes #8749
4 years ago
Jordi Boggiano 44a4429978
Remove PEAR installer/downloader/repos/..., fixes #8778 4 years ago
Jordi Boggiano 876136022b
Merge remote-tracking branch 'origin/1.10' 4 years ago
Jordi Boggiano 62fda2ed85
Reorg ComposerRepository to fix tests 4 years ago
Ayesh Karunaratne 280f02b4bc
Update HTTP URLs to their HTTPS if they already redirect automatically 4 years ago
Carsten Brandt 960fa4b205
Allow duplicate dashes in package names
fixes #8749
1.10 implementation of #8750
4 years ago
Jordi Boggiano b6bad4eef6
Add options to configure repository priorities 4 years ago
Jordi Boggiano 8930f1b824
Add color to lock operations and dry run output 4 years ago
Jordi Boggiano 64f907f93f
Fix handling of aliases to use consistent format everywhere 4 years ago
Markus Staab c30925e68d
extracted `VersionParser::DEV_MASTER_ALIAS` (#8742) 4 years ago
Jordi Boggiano 80505e745e
Fix phpstan issues 4 years ago
Adam Žurek 25cd2382cb
Raise phpstan level to 1 (#8027) 4 years ago
Jordi Boggiano e09dd9c10d
Detect packages which are only available in lock file and warn appropriately 4 years ago
Jordi Boggiano 8945936dbd
Deduplicate solver problems which list problems for dev-master AND 9999999-dev 4 years ago
Nils Adermann f38e969b02 Update test expected output to different formatting 4 years ago
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
4 years ago
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
4 years ago
Nils Adermann 8072ec9b7c Number 2: Adjust forgotten error message in test to new language 4 years ago
Nils Adermann ce0c2d44cd Adjust forgotten error message in test to new language 4 years ago
Nils Adermann 4fab2c7759 Error wording use "thus cannot" instead of "can thus not" 4 years ago
Nils Adermann 88e3f24b91
Fix description of test case 4 years ago
Nils Adermann 9858718ef6 Give a clearer error message explaining how to update a conflicting locked dependency 4 years ago
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
4 years ago
Nils Adermann f7b5cbd1fc Lock file should not contain new aliases for packages which were not updated 4 years ago
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
4 years ago
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.
4 years ago
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
4 years ago
Nils Adermann c270d3cfa6 PoolBuilder: make io non-nullable, NullIO can be used instead 4 years ago
Nils Adermann 9fb09049ff Rename and document constants for partial update behavior 4 years ago
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 4 years ago
Nils Adermann ef42d323b1 Test: partial update adding a new dep on a locked package should mark it for update 4 years ago
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
4 years ago
Nils Adermann 17b50157e4 Test: composer update new/plg --with-dependencies updates locked transitive deps 4 years ago
Nils Adermann 392d0abd21 Rename test files and standardize on allow list rather than whitelist 4 years ago
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.
4 years ago
Graham Campbell fd63588dce
Fixed up tests 4 years ago
Jordi Boggiano 7a05286f55
Fix build 4 years ago
Jordi Boggiano 70f23e42f3
Fix tests 4 years ago
Jordi Boggiano e15f7d6bb7
Merge branch 'master' into 2.0 4 years ago
Aaron Johnson 33479f00ab
Add backticks to test. 4 years ago
Jordi Boggiano 08cee4c3e9
Implement getProviders equally on all repos 4 years ago
Jordi Boggiano d09daa8d5a
Merge pull request #8684 from naderman/dev-require-errors
Handle dev extraction exit codes instead of completing broken lock with errors
4 years ago
Nils Adermann ee8df484c4 Separate createPool and createPoolWithAllPackages, fix test description 4 years ago
Nils Adermann 3ec59204fc Update test: require-dev is now allowed to satisfy providers from require 4 years ago
Jordi Boggiano 73a5cc63cc
Always use Removing for consistency between dry-run and actual install 4 years ago
Nils Adermann 1f467046d7 Implement getProviders on reposet for all repo types and add replacers
This way errors during require dev extraction make more sense
4 years ago
Jordi Boggiano 589aa351a8
Change Uninstalling to Removing in lock operations 4 years ago
Jordi Boggiano a7a975ec1c
Alias dev-master/trunk/default to 9999999-dev instead of normalizing the version to that, fixes #8323 4 years ago
Jordi Boggiano 97e2a249e8
Merge branch 'master' into 2.0 4 years ago
Jordi Boggiano ffac8646fc
Fix tests 4 years ago
Jordi Boggiano 3e82542812
Fix test 4 years ago
Jordi Boggiano c033644f8b
Present lock changes alphabetically, with uninstalls first, then all install/updates mixed 4 years ago
Jordi Boggiano 24a5a0dacb
Skip invalid PSR-0/4 classes from optimized autoloader, fixes #8403 4 years ago
Jordi Boggiano d63eb8179e
Merge branch 'master' into 2.0 4 years ago
Jordi Boggiano 6d3d7c39ac
Merge pull request #8621 from remorhaz/master
Fix incorrect --no-dev handling of replaced packages
4 years ago
Jordi Boggiano 9cab8c10cc
Merge branch 'master' into 2.0 4 years ago
Jordi Boggiano 0b9c658bef
Add plugin-api-version used to generate a lock file in itself 4 years ago
remorhaz 8df263a756 Test added for issue #8622 fix 4 years ago
Jordi Boggiano 0ad322e51f
Fix tests 4 years ago
Jordi Boggiano bc002ae1fb
Merge branch 'master' into 2.0 4 years ago
Nils Adermann d665ea7ea9
After update and install commands display how many packages want funding 4 years ago
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.
4 years ago
Jordi Boggiano 2d8a8ed7e3
Add InstalledRepository to clean up some concepts and usages, remove BaseRepository 4 years ago
Jordi Boggiano c5c6d44a0b
Refactor away some unnecessary RepositorySet usages 4 years ago
Jordi Boggiano 44d1e15294
Simplify suggester output when updating, refactor suggest command to reuse SuggestedPackagesReporter and make smarter defaults, fixes #6267 4 years ago
Jordi Boggiano 5d8dc48bd4
Fix test on windows 4 years ago
Nils Adermann 4bb314e4af
Merge pull request #8566 from Seldaek/installer-events
Restore installer events and add a PRE_POOL_CREATE hook for plugins
4 years ago
Jordi Boggiano 23efda9155
Try to fix windows build 4 years ago
Jordi Boggiano d52ce3c37f
Replace pre/post-dependencies-solving by a pre-operations-exec event happening only on install from lock 4 years ago
Jordi Boggiano 71855e6430
Restore PRE/POST_DEPENDENCY_SOLVING events 4 years ago
Jordi Boggiano 4d74f5ba95
Fix exclude-from-classmap handling to avoid foo matching foo* directories, fixes #8563, refs #8575 4 years ago
Jordi Boggiano c7ba751319
Merge commit 'refs/pull/8575/head' of github.com:composer/composer 4 years ago
Jordi Boggiano 7e142b5d6b
Use Upgrading for package installs too 4 years ago
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
4 years ago
Jordi Boggiano 9609729de7
Change update to upgrade for package update operations which are upgrades, refs #8594 4 years ago
Jordi Boggiano fc5682ed9f
Fix build 4 years ago
Jordi Boggiano be8dd528b8
Merge remote-tracking branch 'origin/master' into 2.0 4 years ago
Jordi Boggiano 31068b7bed
Merge pull request #8594 from IonBazan/downgrading-dry-run
Distinguish between updates and downgrades in dry-run
4 years ago
Ion Bazan 11ae757e99 fix risky tests 4 years ago
Ion Bazan a180f48921 Distinguish between updates and downgrades in dry-run 4 years ago
Stephan Vock 2a564a9f36 Create project: add option to add the repository to the composer.json 4 years ago
Jordi Boggiano 5843a282bc
Merge pull request #8562 from adrianosferreira/fix-archive-format-cli
Uses config data from Composer object whenever possible on ArchiveCommand
4 years ago
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.
4 years ago
Jordi Boggiano 21ab2f85bb
Fix 7.4 build 4 years ago
Jordi Boggiano 589abb06a3
PHPStan fixes 4 years ago
Jordi Boggiano 45ecbae8f5
Merge branch 'master' into 2.0 4 years ago
Ion Bazan a9bace37f6 fix windows build 4 years ago
Ion Bazan 58b34d13e8 fix risky tests (without any assertion) 4 years ago
Ion Bazan db32d6bc18 do not use env 4 years ago
Ion Bazan a2137d5263 use Symfony PHPUnit Bridge 4 years ago
Jeroen Versteeg cabf373bf4 Added test for exclude-from-classmap (see issue #8563) 4 years ago
Jordi Boggiano 006c3de542
Fix tests and make TTY usage on ProcessExecutor cleaner 4 years ago
Jordi Boggiano 2f4ea3a463
Fix show command, refactor RepositorySet constructor 4 years ago
Jordi Boggiano 189d5adab0
Fix reporting of replace conflicts to not mention provides 4 years ago
Jordi Boggiano ec90c17e3b
Fix conflict order to be more accurate 4 years ago
Jordi Boggiano 1e68555e0a
Sanitize URLs in getRepoName and centralize the Url sanitization process 4 years ago
Jordi Boggiano c41df325d8
Remove RepositorySet from Solver and remove getPool from RepositorySet 4 years ago
Jordi Boggiano f982a10447
Update after rebase 4 years ago
Jordi Boggiano 1d4cdb60d0
Improve error reporting for conflicts/replaces of various kinds, fixes #7254 4 years ago
Jordi Boggiano 6c9d9e775c
Clean up and deduplicate the output of RULE_LEARNED 4 years ago
Jordi Boggiano e6029d725a
Add individual test checking for clashes between requirements at root and transitive dependency level 4 years ago
Jordi Boggiano 3fc7e10c5c
Improve error reporting of solver issues, refs #7779
Fixes #8525
Fixes #6513
4 years ago
Jordi Boggiano 8a41f1a5ca
Allow providers which are selected to be installed in place of existing packages which do not satisfy requirements, fixes #6753 4 years ago
Jordi Boggiano 3f48acf56a
Add test checking references update to latest and remove TODO 4 years ago
Jordi Boggiano 292d4b3c8f
Make sure a lock file is always written and things work well even without any dependencies in the require/require-dev 4 years ago
Jordi Boggiano 7e6fe585bc
Merge branch 'master' into 2.0 4 years ago
Jordi Boggiano fb93036a70
Fix putenv to avoid leaving the environment in a dirty state 4 years ago
Jordi Boggiano 8584d15e8c
Merge branch 'master' into 2.0 4 years ago
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.
5 years ago
Nils Adermann 0b4e8952f6 PHP5 disallows require as a function name, use requireName analog to fixPackage 5 years ago
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.
5 years ago
Jordi Boggiano 921a97457d
Add PoolBuilder test harness for writing .test files 5 years ago
Jordi Boggiano 1d31190472
Keep track of unacceptable fixed packages for later to use in error reporting and make sure the pool state is consistent 5 years ago
Jordi Boggiano ebe910c3a5
Tweak test to follow changes 5 years ago
Jordi Boggiano b5e34ca767
Fix remove tests 5 years ago
Jordi Boggiano 6f44350c01
Remove problem reporting for locked package not being found, needs to be fixed in #7779 later 5 years ago
Jordi Boggiano de189c1b80
Fix deps=high build 5 years ago
Jordi Boggiano 7a4d3e6f25
Fix SolverTest 5 years ago
Jordi Boggiano dd556f989b
Use LockArrayRepository instead of RepositoryInterface to clearly indicate which type of repo it is in some places 5 years ago
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
5 years ago
Jordi Boggiano f68731e663
Remove package/repo priority concept as it is enforced by the pool builder now 5 years ago
Jordi Boggiano 30b6a41035
Extract MetadataMinifier util 5 years ago
Jordi Boggiano 47a94b3a88
Ensure packages that exist in a higher prio repo never get loaded in lower prio repos, fixes #5076 5 years ago
Jordi Boggiano 4a7d42604f
Fix tests 5 years ago
Jordi Boggiano 40f5806a7c
Fix ComposerRepo issue 5 years ago
Jordi Boggiano f91859ceff
Fix expectation 5 years ago
Jordi Boggiano a5b178084c
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 78217e2313
Merge branch '1.9' 5 years ago
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 5 years ago
Jordi Boggiano a902279a5b
Merge branch '1.9' 5 years ago
Maximilian Bösing 3791a574a2
Provide partial packages names if available, closes #8516, fixes #8526 5 years ago
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
5 years ago
Jordi Boggiano f203b3eb41
Merge remote-tracking branch 'adrianosferreira/add-suggest-in-json-by-cli' 5 years ago
Jordi Boggiano c43137db3f
Merge branch '1.9' 5 years ago
Jordi Boggiano 818e16238f
Merge pull request #8510 from glaubinix/t/abandon-archived
VcsRepositories: mark archived repositories as abandoned
5 years ago
Jordi Boggiano 4e667f891b
Fix 5.3 build 5 years ago
Jordi Boggiano 23359f2db6
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 3d72b56ed6
Merge branch '1.9' 5 years ago
Jordi Boggiano d3f1c664d4
Avoid formatting output from external processes, fixes #8524 5 years ago
Ondrej Mirtes 7d4d4622ab
ProcessExecutor - do not format output from executed processes 5 years ago
Jordi Boggiano 2bd817acf9
Merge pull request #8444 from Toflar/remove-filters-from-pool
Removed the filters from the pool
5 years ago
Adriano Ferreira 607d491921 Implemented way to add packages into suggest through CLI 5 years ago
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`.
5 years ago
Stephan Vock 731d94a2a3 VcsRepositories: mark archived repositories as abandoned 5 years ago
Markus Staab 3d8c1ebad5 implemented @putenv composer script
@putenv supports setting environment variables in a x-OS compatible way
5 years ago
Jordi Boggiano 082422f334
Merge pull request #8458 from johnstevenson/noproxy
Rewrite NoProxyPattern to include IPv6
5 years ago
Jordi Boggiano f6b3f12107
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 8449a113b3
Fix build 5 years ago
Sergii Bondarenko bb127aa3e7 Resolves #8461: [ZipDownloader] Print `unzip` exit code when the command is failed 5 years ago
johnstevenson 00da9b125d Tidy and fix tests 5 years ago
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 `/`.
5 years ago
Yanick Witschi 02b6dc876f Fixed phpstan issues 5 years ago
Yanick Witschi d1dc367d86 Removed the filters from the pool 5 years ago
Jordi Boggiano 88eb61c1d8
Fix 5.3 syntax 5 years ago
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
5 years ago
Jordi Boggiano 88b051c96b
Merge branch 'master' into 2.0
Update deps
5 years ago
Jordi Boggiano 67e170eaa8
Merge branch '1.9' 5 years ago
Jordi Boggiano 89f6b2c54c
Merge pull request #8418 from glaubinix/f/github-authentication-behaviour
Git: fix authentication handling for private GitHub repositories
5 years ago
Stephan Vock b847115617 Git: fix authentication handling for private GitHub repositories 5 years ago
Jordi Boggiano 438c45e991
Change UpdateOperation::show to match what the installers output, fixes the dry-run output to be more like real output 5 years ago
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
5 years ago
Nils Adermann aa6bc75af2 Add a test case for transactions to verify correct sorting 5 years ago
Nils Adermann 3cbe91983c Display Locking instead of Installing for lock file install operations 5 years ago
Nils Adermann 25de5218c3 Reunify lock and local repo transaction code and apply the same sorting 5 years ago
Nils Adermann ff5ec54f04 Correctly use install and update commands in our installer tests 5 years ago
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
  ...
5 years ago
Nils Adermann bd6b4e433c Use JsonFile::JSON_PRETTY_PRINT instead of php const for PHP 5.3 compat 5 years ago
Nils Adermann 737a613a50 Use array() instead of [] for PHP 5.3 compat 5 years ago
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
5 years ago
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
5 years ago
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.
5 years ago
Nils Adermann 2d37bb4116 Outated lock files now trigger an error requesting removal rather than being ignored silently 5 years ago
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.
5 years ago
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.
5 years ago
Andreas Möller f7f7883a5e
Fix: Xdebug vs xdebug 5 years ago
Jordi Boggiano 0ea06de286
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 502b68967a
Fix tests for PSR-fix in optimized autoloader, refs #8397 5 years ago
Jordi Boggiano c3f034e33b
Fix tests for PSR-fix in optimized autoloader, refs #8397 5 years ago
Jordi Boggiano 3a0d05c148
Merge remote-tracking branch 'and800/fix-autoload-opts' 5 years ago
Jordi Boggiano f867c407c7
Merge branch 'master' into 2.0 5 years ago