221 Commits (3ec59204fc021ff0d07bccb4f91ba3d9bd4d03f9)

Author SHA1 Message Date
Nils Adermann 3ec59204fc Update test: require-dev is now allowed to satisfy providers from require 5 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
5 years ago
Jordi Boggiano 589aa351a8
Change Uninstalling to Removing in lock operations 5 years ago
Jordi Boggiano a7a975ec1c
Alias dev-master/trunk/default to 9999999-dev instead of normalizing the version to that, fixes #8323 5 years ago
Jordi Boggiano 97e2a249e8
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano ffac8646fc
Fix tests 5 years ago
Jordi Boggiano 3e82542812
Fix test 5 years ago
Jordi Boggiano c033644f8b
Present lock changes alphabetically, with uninstalls first, then all install/updates mixed 5 years ago
Jordi Boggiano 0ad322e51f
Fix tests 5 years ago
Jordi Boggiano bc002ae1fb
Merge branch 'master' into 2.0 5 years ago
Nils Adermann d665ea7ea9
After update and install commands display how many packages want funding 5 years ago
Jordi Boggiano 44d1e15294
Simplify suggester output when updating, refactor suggest command to reuse SuggestedPackagesReporter and make smarter defaults, fixes #6267 5 years ago
Jordi Boggiano 9609729de7
Change update to upgrade for package update operations which are upgrades, refs #8594 5 years ago
Jordi Boggiano be8dd528b8
Merge remote-tracking branch 'origin/master' into 2.0 5 years ago
Ion Bazan a180f48921 Distinguish between updates and downgrades in dry-run 5 years ago
Jordi Boggiano 189d5adab0
Fix reporting of replace conflicts to not mention provides 5 years ago
Jordi Boggiano ec90c17e3b
Fix conflict order to be more accurate 5 years ago
Jordi Boggiano f982a10447
Update after rebase 5 years ago
Jordi Boggiano 1d4cdb60d0
Improve error reporting for conflicts/replaces of various kinds, fixes #7254 5 years ago
Jordi Boggiano 6c9d9e775c
Clean up and deduplicate the output of RULE_LEARNED 5 years ago
Jordi Boggiano e6029d725a
Add individual test checking for clashes between requirements at root and transitive dependency level 5 years ago
Jordi Boggiano 3fc7e10c5c
Improve error reporting of solver issues, refs #7779
Fixes #8525
Fixes #6513
5 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 5 years ago
Jordi Boggiano 3f48acf56a
Add test checking references update to latest and remove TODO 5 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 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 ebe910c3a5
Tweak test to follow changes 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 47a94b3a88
Ensure packages that exist in a higher prio repo never get loaded in lower prio repos, fixes #5076 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
Jordi Boggiano f6b3f12107
Merge branch 'master' into 2.0 5 years ago
Jordi Boggiano 8449a113b3
Fix build 5 years ago
Yanick Witschi d1dc367d86 Removed the filters from the pool 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 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 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 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
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