2295 Commits (6b48258432f1d166744cebc5bc23b18e69716de9)

Author SHA1 Message Date
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
Jordi Boggiano a0690525b5
Merge branch '1.9' 5 years ago
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
5 years ago
Jordi Boggiano bc2a1d762a
Merge branch 'master' into 2.0 5 years ago
Nils Adermann eaae360ce6 Correcting lock files in test cases and updating output 5 years ago
Nils Adermann e6e317bc27 Fix test configurations, missing lock files, invalid ones
aliased alias test is failing because double alias is improperly
resolved now
5 years ago
Nils Adermann 94d45a980c Update lock syntax in tests and verify installed version does not impact lock generation
Particularly the test

tests/Composer/Test/Fixtures/installer/partial-update-downgrades-non-whitelisted-unstable.test

is interesting because it verifies that an older version will be
installed on update if the new one is only present in the installed repo
or vendor dir. This was the cause of a lot of weird edge cases and
unreliable update behavior in Composer v1
5 years ago
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
5 years ago
Nils Adermann 48ae45e5fe Correct github issue test to include a lock file, still fails because of real bug now 5 years ago
Nils Adermann 5c129be5e7 Partial updates without a lock file are no longer possible, update test 5 years ago
Nils Adermann 0873c4099b Merge branch '1.9'
* 1.9:
  Move test file parsing into try/catch block to avoid phpunit swallowing errors
5 years ago
Nils Adermann 6a335a459c Move test file parsing into try/catch block to avoid phpunit swallowing errors 5 years ago
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.
5 years ago
Andriy Maletsky ec293adabc make optimized autoloader respect PSR standards 5 years ago
Markus Staab e47aa38ad4 Added phpdoc for ComposerAutoloaderInit$SHA1::getLoader() (#8393) 5 years ago
Jordi Boggiano 78b8c365cd
Merge branch '1.9' 5 years ago
Jordi Boggiano 18dad48fa6
Merge pull request #8363 from sincilite/feature/error-reporting-for-missing-path
Improve error reporting for missing path in Repository Path
5 years ago
johnstevenson 8d9b822413 Add messages to junction tests to see failures 5 years ago
Arnout Boks 22caa0f097 Add tests for installer with lock: false
https://github.com/composer/composer/issues/8354
5 years ago
Mike van Rooyen 6b56ddae2a Remove unused variable 5 years ago
Mike van Rooyen daedb4a74f Remove extra line in method following CS-Fixer 5 years ago
Mike van Rooyen e62478ab89 Test to check there is a RuntimeException thrown when a path repository doesn't exist 5 years ago
zakonnic f159eb724a Add test for double gap in php-file 5 years ago
Nils Adermann 995b4f923e Fix more tests which were lacking lock files for partial updates, display fix jobs in problems 5 years ago
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.
5 years ago
Nils Adermann 33ff67abf3 Update tests for new output and for required lock file on partial update 5 years ago
Nils Adermann a114e26841 Correctly load aliases in lockedRepository to fix alias install output 5 years ago
Nils Adermann 3e0e5dc1fa Fix test expectation: Install and update operations are now alphabetical 5 years ago
Nils Adermann c16ab6174e Fix tests: Alias install now always right after origin package, partial update requires lock file 5 years ago
Nils Adermann b700aa3d62 Sort local repo transaction as topological as possible 5 years ago
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
  ...
5 years ago
Nils Adermann 06d11f2f38 Fix calculation of lock transaction updates and start updating output in tests 5 years ago
Nils Adermann f1e4ccbe1d Fix handling of reference updates and root references 5 years ago
Jordi Boggiano a403ee9b0e
Fix tests for reals 5 years ago
Jordi Boggiano 6fee17f16c
Fix tests, refs #8292 5 years ago
Jordi Boggiano 53d2ab2253
Split up steps on VCS downloaders to allow doing network operations before touching the filesystem on GitDownloader, fixes #7903 5 years ago
Jordi Boggiano 63da7c6b2d
Add install-path to the installed.json for every package, fixes #2174, closes #2424 5 years ago
Jordi Boggiano 8dfadd99d1
Merge branch '2.0' into fix/unused 5 years ago
Jordi Boggiano 1002fb12fc
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 300a888470
Merge pull request #7995 from Seldaek/plugin-deactivation
Plugin deactivation/uninstall support
5 years ago
Jordi Boggiano 3ef27cabd6
Merge pull request #7999 from Seldaek/store_dev
Store dev mode in installed.json, fixes #3008
5 years ago
Jordi Boggiano 362ebe4f68
Fix update mirrors to also update transport-options, fixes #7672 5 years ago
Jordi Boggiano db6882b57f
Fix updating or URLs to include dist type and shasum, fixes #8216 5 years ago
Jordi Boggiano 0fe200d6d9
Fix origin computation 5 years ago
Jordi Boggiano 6c4357a7ed
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 26a3e12c96
Merge pull request #7994 from aschempp/feature/zip-util
Extract the ZIP utility functions from ArtifactRepository
5 years ago
Jordi Boggiano 14f2a6dd9a
Fix remove command not working with escaped slashes (e.g. foo\/bar), fixes #8249 5 years ago
Jordi Boggiano 555fa5bae2
Merge pull request #8239 from carusogabriel/improve-redability-foreach
Make usage of foreach to improve readability
5 years ago
Jordi Boggiano 6ecff8e71d
Merge pull request #8241 from carusogabriel/remove-assignment
Remove override assignment
5 years ago
Jordi Boggiano 70c0d20772
Merge pull request #8242 from carusogabriel/remove-unused-private-methods
Remove unused private methods
5 years ago
Jordi Boggiano d9c2f00891
Merge pull request #8240 from carusogabriel/remove-unused-private-properties
Remove unused private properties
5 years ago
Jordi Boggiano 79e4ff4373
Merge pull request #8186 from freality/script_event_originating
allow Composer\Script\Event to reference originating event
5 years ago
Jordi Boggiano 369e8a2247
Fix indenting 5 years ago
Gabriel Caruso 1d05d4171c
Remove unused private methods 5 years ago
Gabriel Caruso 4cb2b303ec
Remove override assignment 5 years ago
Gabriel Caruso 6c8ddd4d57
Remove unused private properties 5 years ago
Gabriel Caruso b4fc3b7eef
Make usage of foreach to improve readability
Instead of count and comparing, we can simple use a foreach.
5 years ago