1
0
Fork 0
Commit Graph

8769 Commits (28afc4de32e5d795948403e031a0a297dcebc252)

Author SHA1 Message Date
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
Nils Adermann aa6bc75af2 Add a test case for transactions to verify correct sorting 2019-11-08 17:51:18 +01:00
Nils Adermann 8810c6467d
Merge pull request #7936 from naderman/solve-without-installed
Separate Install & Update code, no longer use vendor dir as input to solver
2019-11-08 17:03:16 +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 ff5ec54f04 Correctly use install and update commands in our installer tests 2019-11-08 12:31:26 +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 bd6b4e433c Use JsonFile::JSON_PRETTY_PRINT instead of php const for PHP 5.3 compat 2019-11-07 22:09:24 +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 737a613a50 Use array() instead of [] for PHP 5.3 compat 2019-11-07 22:01:37 +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 2d37bb4116 Outated lock files now trigger an error requesting removal rather than being ignored silently 2019-11-07 17:38:16 +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
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 1a797c16a0
Prepare 1.9.1 changelog 2019-11-01 16:40:34 +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 c3f034e33b
Fix tests for PSR-fix in optimized autoloader, refs #8397 2019-11-01 15:13:28 +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 e6e317bc27 Fix test configurations, missing lock files, invalid ones
aliased alias test is failing because double alias is improperly
resolved now
2019-10-30 00:40:36 +01:00
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
2019-10-30 00:32:23 +01:00