1
0
Fork 0
Commit Graph

425 Commits (b78b2df5bb8cbd0f3ece3aca513b4fade00bc554)

Author SHA1 Message Date
Nicolas Grekas 89d5d8f182 Free $solver asap 2019-06-21 18:34:16 +02:00
Jordi Boggiano 60df892517
Store dev mode in installed.json, fixes #3008 2019-02-21 12:46:02 +01:00
Matthew Brown 65903aacfd Fix type issues (#7996)
* Fix type issues found by Psalm
2019-02-19 15:35:48 +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
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
Jordi Boggiano 9c32808782 Merge branch 'master' into 2.0 2019-01-30 08:33:13 +01:00
Hans-Christian Otto 85617aa740
Installer: Initialize $nameMatchesRequiredPackage
We had a case where we got `Undefined variable: nameMatchesRequiredPackage` — I think it should be initialized with false, right?
2019-01-29 17:26:59 +01:00
Jordi Boggiano b89720b52a Merge branch 'master' into 2.0 2019-01-28 18:00:52 +01:00
Jordi Boggiano 1f97ffdcd7 Add some docs 2019-01-28 17:54:32 +01:00
Sascha Egerer 82ecf95a3c Add PHP 5.3 compatibility 2019-01-28 17:34:29 +01:00
Sascha Egerer 1845adcfbd Fix update whitelist pattern resolving and add more tests 2019-01-28 17:34:24 +01:00
Sascha Egerer dc59af555a Fix invalid call to array_merge 2019-01-28 17:34:19 +01:00
Sascha Egerer 50cb5fe3da Update all whitelist matching root dependencies
The update command can receive a pattern like `vendor/prefix-*`
to update all matching packages.
This has not worked if multiple packages, depending on each other,
where matched to the given pattern. No package has been updated
in this case as only the first package matching the pattern was
added to the whitelist.
2019-01-28 17:34:08 +01:00
Jordi Boggiano 411dd51f20 Merge branch 'master' into 2.0 2018-12-03 10:41:19 +01:00
Jordi Boggiano 66d84f60c6 Fix pattern matching for remove wildcard, refs #7715 2018-11-26 20:09:26 +01:00
Jordi Boggiano 2e0f31106a Merge remote-tracking branch 'origin/master' into 2.0 2018-11-12 16:01:07 +01:00
Mathias Brodala 38a34159ef Dispatch "post-package-update" event after writing lock (#7766)
Fixes #7765
2018-11-12 11:32:19 +01:00
Nils Adermann f11c357325 Restore output of number of packages analyzed in solver 2018-09-14 14:39:24 +02:00
Nils Adermann c0f19f6c57 Move construction of pool from repo set into a pool builder
Pool construction depends on the install request now, so only required
packages get loaded, add some structure for future asynchronously
loading composer repositories
2018-09-12 11:49:09 +02:00
Nils Adermann 4c7d271a36 Remove deprecated function 2018-09-11 16:03:48 +02:00
Nils Adermann 1747df97e7 Create pool in show command to use policy, remove todos 2018-09-11 15:59:02 +02:00
Nils Adermann b6e2d60c9e Create the pool in the installer before giving it to the solver 2018-09-11 15:49:08 +02:00
Nils Adermann 1228bcdffc Internalize pool creation in repository set, store root aliases in set
The pool is still exposed too early in a few places which will require
further refactoring
2018-09-11 13:34:18 +02:00
Nils Adermann 6ef65e5319 Add a new RepositorySet class and restrict pool usage to the solver
Breaking change for the plugin interface so bumping the version of
composer-plugin-api to 2.0.0

First step for a refactoring of the package metadata loading mechanism
2018-09-10 15:27:54 +02:00
Jordi Boggiano ff59bbdab0 CS fixer 2018-07-24 14:32:52 +02:00
Jordi Boggiano d5a9d86ee4 Undo reformatting from #7441 2018-07-20 12:03:08 +02:00
Vladimir Reznichenko cd39efc72c New finding by Static Code Analysis 2018-07-14 20:55:26 +02:00
Gabriel Caruso 7d9f8e2247
Improvements
Small improvements, such as remove unused imports, unecessaries casts, parentheses, etc.
2018-07-05 07:44:43 -03:00
Jeroen Ketelaar 6ff74d3ed1
[BUGFIX] Fixed typo in comment 2018-06-05 15:55:14 +02:00
Jordi Boggiano 43e33be79f Fix regression in 036fc44c25, fixes #7268 2018-05-03 17:30:33 +02:00
Jordi Boggiano 4bddcd7124 Add support for gitlab.com URL replacement, fixes #7160 2018-04-12 10:35:22 +02:00
Jordi Boggiano c8aea719b1 CS fixes 2017-12-18 16:02:48 +01:00
Jordi Boggiano 0b3bc4ccb9 Merge branch '1.5' 2017-11-28 18:09:36 +01:00
Jordi Boggiano 4c4f516ea2 Make sure binaries are recreated before POST-hooks fire 2017-11-28 16:07:28 +01:00
Jordi Boggiano 17ec4c17b0 Set COMPOSER_DEV_MODE for all events and not just POST hooks 2017-11-28 16:04:50 +01:00
Jordi Boggiano 9a99e86ebc Rename NonRoot to Transitive, refs #6674 2017-11-03 14:35:04 +01:00
Matthew Grasmick 776977f597 Fixing method name. 2017-09-11 13:53:56 -04:00
Matthew Grasmick 11db6f90c2 Cleaning up comments 2017-09-11 12:56:51 -04:00
Matthew Grasmick 3826e51caa Renaming some methods and props. 2017-09-11 12:38:54 -04:00
Matthew Grasmick 2e4afaa941 Not skipping root packages. 2017-09-11 12:30:48 -04:00
Matthew Grasmick 6db92eae92 Trying to fix update behavior. 2017-09-11 12:27:20 -04:00
Matthew Grasmick ad465aa769 Updating var names. 2017-09-11 11:47:33 -04:00
Matthew Grasmick f29e98cdf9 Fixes #6661: Allow a given package and its dependencies (including siblings) to be updated. 2017-09-11 11:16:15 -04:00
Abyr Valg 37addea447 Make composer see installed dev packages 2017-09-11 10:20:48 +02:00
Jordi Boggiano acdb7638a8 Warn about require-dev not being ignored when an update --no-dev fails to resolve dependencies, fixes #6575 2017-08-07 16:32:13 +02:00
Jordi Boggiano 23ab57c311 Merge branch '1.4' 2017-08-06 17:21:58 +02:00
Jordi Boggiano 9afbddab6b Only update dist references when one existed already, fixes #6363 2017-08-06 16:54:17 +02:00
Jordi Boggiano a3f2b7bb92 Tweak variable name 2017-05-24 13:26:07 +02:00
Nils Adermann b1110df873 Merge pull request #6371 from balbuf/balbuf/move-all-plugins
Move all plugins and their dependencies to the front
2017-05-24 13:23:09 +02:00
Stephen Beemsterboer 06bb6c7530 Move plugins with no dependencies to the front, followed by plugins with their dependencies 2017-05-23 20:28:32 -04:00
Stephen Beemsterboer 4cda7e0a44 Take into account a package's "provide" and "replace" fields
A package can satisfy a require by its "provide" or "replace" fields,
so this leverages the getNames() method which returns these alternate
names as well.
2017-05-23 19:17:18 -04:00
Jordi Boggiano 954300032b Avoid useless warnings when updating/removing stuff that is not installed 2017-05-16 21:59:19 +02:00
Stephen da6efc9b02 Move all plugins and their dependencies to the front 2017-04-22 15:20:50 -04:00
Jordi Boggiano 122e422682 CS fixes 2017-03-08 15:16:44 +01:00
Jordi Boggiano 6afc844339 Do not warn of mirrors not existing 2017-03-07 09:20:49 +01:00
Yanick Witschi 0ea93df252 Fixed no lock file was written when setting writeLock to true and executeOperations to false 2017-01-22 17:56:09 +01:00
Jordi Boggiano b2efcb1078 Update dist/source mirrors as well when updating a package's URL 2016-12-20 13:55:25 +01:00
Jordi Boggiano 4d77ffcb4a Merge branch 'simplify-output' 2016-12-11 16:24:01 +01:00
Jordi Boggiano 4d082f77b8 Simplify composer output to take less lines 2016-12-07 01:09:06 +01:00
Jordi Boggiano 1dcb2b5758 Merge remote-tracking branch 'nicolas-grekas/apcu' 2016-12-07 00:21:13 +01:00
Jordi Boggiano 3c1300bcaf Allow disabling execution of operations and lock writing independently from dryRun, closes #5787 2016-12-06 23:54:00 +01:00
Nicolas Grekas 6d4e60b991 Add --apcu-autoloader option to enable APCu caching of found/not-found classes 2016-12-06 11:21:44 +01:00
Jordi Boggiano 8ad6385ffb Merge remote-tracking branch 'fabpot/more-debug' 2016-11-06 18:18:52 +01:00
Jordi Boggiano 027de2960b Merge pull request #5794 from andrewjt71/issue-5769
Issue 5769 dev mode varaible
2016-11-06 16:58:41 +01:00
Fabien Potencier 5d742fd38b Fix POST_DEPENDENCIES_SOLVING trigger 2016-10-31 06:54:38 -07:00
Fabien Potencier 57ec0d1815 added more information in the output 2016-10-29 11:37:23 -07:00
Andrew Taylor ce6a3c0dd7 Issue 5769 dev mode varaible 2016-10-18 22:56:32 +01:00
Jordi Boggiano ed78253c58 Only update reference if there is actually a reference, fixes #5609 2016-09-02 18:43:44 +02:00
Jordi Boggiano edddae42db Revert default change from #5603 2016-08-30 15:20:20 +02:00
Jordi Boggiano 59596ff012 Make sure we do not overwrite binaries but only re-create missing ones, refs #5127 2016-07-02 16:35:09 +01:00
Jordi Boggiano 88d5b74c74 Merge remote-tracking branch 'j0k3r/re-install-binaries' 2016-07-02 16:15:33 +01:00
Jordi Boggiano 08ef916bed Change default value 2016-06-06 11:22:06 +01:00
Jesse Donat cbfd81dc99 Adds flag to allow suggestions to be skipped 2016-05-31 17:48:43 -05:00
Jeremy Benoist 4f7fbbc879 Introduce InstallerBinaryInterface
This is an interface for Installer which should support installing binary.
ATM there is only the `LibraryInstaller`.

It eases the check for supported method when installing binaries for all packages
2016-05-31 12:19:58 +02:00
Jordi Boggiano 8f0324f51e Fix platform dev reqs being required even in --no-dev installs 2016-05-11 11:35:30 +01:00
Jordi Boggiano 13f4d2afd3 Fix #refs handling, fixes #5291 2016-05-10 17:19:09 +01:00
Jordi Boggiano ac75680b1e Make sure the abandoned state is copied over even if the packages are installed already 2016-04-22 23:41:15 +01:00
Jordi Boggiano 4de17cef6b Always resolve dev packages even when doing an update with --no-dev, fixes #5016 2016-04-20 12:34:04 +01:00
Jordi Boggiano 11daebcb3a Merge pull request #5210 from Seldaek/fix_partial_updates_from_dirty_state
Fix partial updates from a dirty state and apply exactly the locked state
2016-04-19 20:07:52 +01:00
Jordi Boggiano c7c8335b8b Fix updating of dev refs if they are not whitelisted 2016-04-19 20:03:14 +01:00
Jordi Boggiano de5bfcb4c5 Fix partial updates from a dirty state and apply exactly the locked state, fixes #3468 2016-04-18 23:33:04 +01:00
Jordi Boggiano feda2a283f Improve error reporting some more, fixes #4310 2016-04-18 23:03:00 +01:00
Jordi Boggiano 6d20146d08 Normalize URL updates to point to the correct reference and always update URLs consistently, fixes #3849, fixes #4126 2016-04-18 09:34:23 +01:00
Jordi Boggiano 3b0a1c6f70 Run cs fixer and update config to latest master 2016-04-11 15:06:57 +01:00
Jeremy Benoist e9fc0e6548 Re-install binaries on update/install
Binaries are re-installed after an update/install (ie: removed and then installed)
2016-03-28 23:15:13 +02:00
Jordi Boggiano 747af10483 Clarify required by root message, refs #5099 2016-03-26 09:24:58 +00:00
Niels Keurentjes 8e78ce9a43 Add extra logging before and after SAT solving 2016-03-24 23:19:40 +01:00
Jordi Boggiano 55b0ed8c8b Change installs into updates if there is no lock file, simplify some code, fixes #5034 2016-03-15 14:05:07 +00:00
Rob Bast 8a19e8bd17 fix follow up issue to #4795 2016-03-15 11:17:58 +01:00
Jordi Boggiano 8344c6d3d7 Merge pull request #4993 from hkdobrev/create-project-suggests
List project suggestions in create-project command
2016-03-07 14:01:16 +01:00
Haralan Dobrev cc389d6c1a List project suggestions in create-project command
Resolves https://github.com/composer/composer/issues/2752
2016-03-05 14:22:12 +02:00
Jordi Boggiano 02ed27b16b Add outdated lock and failure to parse deps to quiet output, fixes #4393 2016-03-03 12:21:49 +00:00
Jordi Boggiano c2d78e5ce0 Restore GC and add comments to clarify why we turn it off, fixes #3488, closes #3503 2016-02-29 15:05:11 +00:00
Rob Bast a245c4618b php-cs-fixer 2016-02-25 11:04:44 +01:00
Niels Keurentjes 72a3563f1e Removed some 3 year old backward compatibility code. 2016-02-15 21:37:19 +01:00
Rob Bast be5719eb53 Merge remote-tracking branch 'upstream/master' into repro-4795
* upstream/master: (98 commits)
  Fallback to zlib extension to unpack gzip on non Windows systems
  Zip extension does not provide zlib support
  Unified all Windows tests throughout the code.
  Added Platform utility and unit test for it.
  Remove warnings for non-writable dirs, refs #3588
  [doc] add -H flag to sudo commands
  use full json content to determine reference, closes #4859
  typos
  Make sure COMPOSER_AUTH is also loaded in Config, refs #4546
  Use proper defaults for IO authentications
  Add verbosity input support to IOInterface
  Update SolverTest.php
  Update broken-deps-do-not-replace.test
  Update SolverProblemsException.php
  Cleaned up check+conversion that was no longer required.
  Cleaner notation for expected exceptions in fixtures.
  Introduced more generic, less invasive way to test for exceptions in fixtures, more in line with how phpunit works.
  Included unit test for circular root dependencies.
  Expanded InstallerTest to support expecting Exceptions by supplying "EXCEPTION" as "--EXPECT--"
  Clarified error message and added braces.
  ...
2016-02-04 12:43:37 +01:00
Rob Bast 0e584aa980 resolve issue 2016-02-02 10:45:57 +01:00
Jordi Boggiano 49d7d65933 Add verbosity input support to IOInterface 2016-01-29 10:14:12 +00:00
Artur Eshenbrener cf593351ef Bypass `runScripts` parameter to autoload dumper in `Installer:run()` method 2015-11-23 11:57:45 +03:00
Jordi Boggiano 4f934d9282 Avoid sending install notifications in dry-run mode 2015-10-26 15:01:06 +00:00
Boris Momčilović b05b52ff7e InstallationManager: notifyInstalls: append authorization header for repository 2015-10-24 00:58:34 +02:00
Jordi Boggiano ce08582671 Fix CS 2015-09-28 10:53:24 +01:00
Rob Bast a1427d7fd6 replace all occurences in code and comments 2015-09-24 16:32:36 +02:00
Jordi Boggiano 8913ac2fff Merge pull request #4362 from bd808/classmap-authoritative-cli
Add cli argument for classmap-authoritative
2015-09-20 16:00:21 +01:00
Matthias Pigulla 3c08318ea0 Add test 2015-09-18 15:31:54 +02:00
Matthias Pigulla 2db52ebeba Also update source type and reference when changing URLs 2015-09-18 12:04:21 +02:00
Jordi Boggiano 6508dc4322 Allow packages with only a dist ref to be force updated when the dist ref changes 2015-09-12 22:29:19 +01:00
Bryan Davis cc2b9cfca5 Add cli argument for classmap-authoritative
Add a `--classmap-authoritative (-a)` argument to `composer install`,
`composer update` and `composer dumpautoload`. This enables the same
authoritative classmap behavior as the existing `classmap-authoritative`
configuration setting. The option can be used for creating highly
optimized production autoloaders via `composer install --no-dev
--optimize-autoloader --classmap-authoritative` for projects where
multiple autoloaders are present and unnecessary `file_exists` calls
introduce performance issues.

Closes #4361
2015-08-19 22:18:54 -06:00
DSanchez abfe54f334 Add missing PHPDoc
Conflicts:
	src/Composer/Installer.php
2015-08-17 15:55:09 +01:00
DSanchez 6ce9d2e152 Remove useless variable, method return void! 2015-08-17 15:52:30 +01:00
Jordi Boggiano a979cc78ed Suppress warnings on touch() failures of the vendor dir, refs #4070 2015-08-11 11:20:39 +01:00
Nils Adermann 5b1b96b61e Output the number of rules used in the solver for profiling purposes 2015-07-08 17:57:23 +02:00
Nils Adermann 07e1d227c9 Output the size of the pool after dependency resolution for users 2015-07-07 15:40:26 +02:00
Jordi Boggiano d0ff01698d Fix outdated comment 2015-06-20 12:58:19 +01:00
Jordi Boggiano d5bdf4be28 Update URLs for bitbucket as well 2015-06-19 23:23:48 +01:00
Jordi Boggiano d426246b80 Update only github dist URLs, refs #3985 2015-05-01 16:26:59 +01:00
Cees-Jan Kiewiet c9d9b5085a Replaced <error> with <warning> for abandoned package as it reflects the intention of this feature better 2015-04-30 23:34:26 +02:00
Nils Adermann 258fdcb44d Merge pull request #3986 from Seldaek/partial-update-keep-lock
Partial updates should not corrupt the lock if the installed repo is not up to date with it
2015-04-30 17:54:58 +02:00
Nils Adermann cb44f209f8 Merge pull request #3985 from Seldaek/update-urls
Check if package URLs are up to date after composer update is done
2015-04-30 17:48:43 +02:00
Jordi Boggiano 137c551247 Check if package URLs are up to date after an update op is done, fixes #3214 2015-04-30 16:41:28 +01:00
Jordi Boggiano 4507805508 Partial updates should not corrupt the lock if the installed repo is not up to date with it, fixes #3439, closes #3553 2015-04-30 16:39:08 +01:00
Nils Adermann b4ed331168 The Solver Request no longer depends on the Pool 2015-04-30 17:24:24 +02:00
Jordi Boggiano a57c51e8d7 Finalize platform override feature
- Added tests, docs
- Persist to lock file
- Add support in config command
- Added to json schema
2015-04-29 22:38:07 +01:00
Jordi Boggiano 80b0a35a68 Merge remote-tracking branch 'HuffAndPuff/ignore-platform'
Conflicts:
	src/Composer/Config.php
	src/Composer/Repository/PlatformRepository.php
2015-04-29 21:03:51 +01:00
isoroku e0657b60a2 Fix misspellings 2015-03-20 14:23:24 +00:00
Rob Bast cb336a5416 Implement writeError throughout Composer 2015-02-25 11:00:35 +01:00
Jordi Boggiano 0b4a9235f4 CS fixes 2015-02-24 14:22:54 +00:00
Jordi Boggiano 3efed220a6 Clean up event dispatching code and make package events extend installer events 2015-02-23 15:34:49 +00:00
Jordi Boggiano b4698568d2 Adjust tests and fix installer code to create the pool using locked requirements and not the composer.json reqs 2015-02-17 14:37:33 +00:00
Matthias Derer c9cff6387a removed requirements from the root package should we install from the lock file 2015-02-13 16:15:34 +01:00
Jordi Boggiano 095dc61295 Rename runAutoloader to dumpAutoloader, refs #3453 2014-12-29 20:29:13 +00:00
Jordi Boggiano b8f4960f0d Merge remote-tracking branch 'mattsah/master' 2014-12-29 20:21:43 +00:00
Nicolas Grekas e821ac2772 Persist prefer-lowest in composer.lock 2014-12-14 10:29:41 +01:00
Nicolas Grekas 98b254a3ec split update --prefer-lowest and --prefer-stable 2014-12-13 11:51:30 +01:00
Nicolas Grekas 4a0feb0189 add --prefer-lowest-stable to update command 2014-12-13 11:51:30 +01:00
Yagiz Nizipli bf210a340b Free up memory before disabling gc. 2014-12-02 16:02:20 +02:00
Jordi Boggiano 947c1fbabb Merge pull request #3484 from stof/fix_rule
Fix the display of rules
2014-12-02 10:28:03 +00:00
Jordi Boggiano ac676f47f7 Disable GC when computing deps, refs #3482 2014-12-02 10:23:21 +00:00
Christophe Coevoet 7fd9341464 Fix the display of rules
Close #3483
2014-12-01 22:56:59 +01:00
Matthew J. Sahagian 5896f283be Allow for disabling autoloader on Installer 2014-11-21 13:16:19 -08:00
Nils Adermann 6f4be698a5 Merge pull request #3325 from rdohms/implementing-abandoned-packages
Abandoned Package Warnings
2014-11-20 13:09:18 +01:00
Jordi Boggiano 94926218e8 CS fixes 2014-10-17 18:57:27 +01:00
Jordi Boggiano ec0463a400 Add tests for platform packages required by root and avoid creating rules altogether instead of disabling them, refs #3320 2014-10-17 15:30:27 +01:00
Jordi Boggiano 71976a638c Merge remote-tracking branch 'alu/ignore-ext-require'
Conflicts:
	src/Composer/Installer.php
2014-10-15 14:42:07 +01:00
jakoch 24b4ce8831 added $installer->isVerbose() 2014-10-11 19:46:37 +02:00
jakoch c8b9d299d5 added $installer->isDryRun() 2014-10-11 19:30:19 +02:00
alu b7fa302b90 add ignore-platform-package-requirements for update/install commands. 2014-10-08 14:20:36 +09:00
Rafael Dohms f9f2bbac59 Abandoned packages support
Added warning to the installer process.
If any installed packages are flagged, the user will get a warning at the end
of the install/update process.
2014-10-03 14:48:28 +02:00
Jordi Boggiano efcdb394d3 Rename *-solve-dependencies to *-dependencies-solving 2014-09-30 16:26:55 +01:00