1
0
Fork 0
Commit Graph

391 Commits (3ec59204fc021ff0d07bccb4f91ba3d9bd4d03f9)

Author SHA1 Message Date
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.
2019-10-29 22:28:36 +01:00
Arnout Boks 7c5e5e3ede Add option to disable the lock file
When the `lock` option is set to false, composer will not write a
`composer.lock` file to disk. This signals that the package is meant
to be developed with unlocked and always updated dependencies. At the
moment, both `install` and `update` are allowed to install the
dependencies for such a package. If #6822 is implemented, only `update`
should be used for packages without a lockfile.

https://github.com/composer/composer/issues/8354
2019-10-19 21:46:29 +02:00
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.
2019-09-07 08:52:10 +02:00
Nils Adermann 4db325b7b4 Use the old root stack based approach to sorting operations in the transaction 2019-09-07 07:13:34 +02:00
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
  ...
2019-09-07 02:55:21 +02:00
Nils Adermann 06d11f2f38 Fix calculation of lock transaction updates and start updating output in tests 2019-09-07 02:33:50 +02:00
Nils Adermann f1e4ccbe1d Fix handling of reference updates and root references 2019-09-07 01:58:12 +02:00
Jordi Boggiano 63da7c6b2d
Add install-path to the installed.json for every package, fixes #2174, closes #2424 2019-08-02 21:39:42 +02:00
Jordi Boggiano 08d661ceca
Merge branch 'master' into 2.0 2019-08-02 13:45:56 +02:00
Jordi Boggiano 96ad0aa01f
Remove extra arg 2019-08-02 13:45:43 +02:00
Jordi Boggiano 1002fb12fc
Merge branch 'master' into 2.0 2019-08-02 13:26:03 +02:00
Jordi Boggiano 3ef27cabd6
Merge pull request #7999 from Seldaek/store_dev
Store dev mode in installed.json, fixes #3008
2019-08-01 17:59:09 +02:00
Jordi Boggiano 362ebe4f68
Fix update mirrors to also update transport-options, fixes #7672 2019-07-31 18:43:18 +02:00
Jordi Boggiano db6882b57f
Fix updating or URLs to include dist type and shasum, fixes #8216 2019-07-31 18:36:27 +02:00
Nils Adermann 9053d74282 Merge branch '2.0' into solve-without-installed
* 2.0: (101 commits)
  SVN: hide passwords for debug output
  Free $solver asap
  fixes #8179
  [minor] Fixed a typo in the CHANGELOG.md.
  Update deps
  Update changelog
  Revert "Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET" Revert "Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151"
  Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151
  Fix display of HHVM warning appearing when HHVM is not in use, fixes #8138
  Read classmap-authoritative and apcu-autoloader from project config when installing via create-project, fixes #8155
  Use possessive quantifiers
  Update xdebug-handler to 1.3.3
  fixes #8159
  Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET
  flag should come before script name
  use full command name, not abbreviated/alias
  modify text
  Document the alternatives to disable the default script timeout
  Anchor pattern
  Fix URL resolution for Composer repositories
  ...
2019-06-27 14:35:36 +02:00
Nils Adermann d2fa1e1319 Merge branch 'master' into 2.0
* master: (48 commits)
  SVN: hide passwords for debug output
  Free $solver asap
  fixes #8179
  [minor] Fixed a typo in the CHANGELOG.md.
  Update deps
  Update changelog
  Revert "Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET" Revert "Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151"
  Add docs for COMPOSER_SELF_UPDATE_TARGET, refs #8151
  Fix display of HHVM warning appearing when HHVM is not in use, fixes #8138
  Read classmap-authoritative and apcu-autoloader from project config when installing via create-project, fixes #8155
  Use possessive quantifiers
  Update xdebug-handler to 1.3.3
  fixes #8159
  Allow overriding self-update target file with envvar COMPOSER_SELF_UPDATE_TARGET
  flag should come before script name
  use full command name, not abbreviated/alias
  modify text
  Document the alternatives to disable the default script timeout
  Anchor pattern
  Fix URL resolution for Composer repositories
  ...
2019-06-27 14:08:00 +02:00
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