1
0
Fork 0
Commit Graph

107 Commits (c65687604ee71277f1881c6b83ac0a58e94e35de)

Author SHA1 Message Date
Jordi Boggiano 8b0da77a1d
Make sure cleanup is called for every package in case any operation fails to execute 2020-04-09 10:48:48 +02:00
Jordi Boggiano 80505e745e
Fix phpstan issues 2020-04-07 14:40:51 +02:00
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.
2020-01-19 23:21:07 +01:00
Adam Žurek 406a28708f updated phpstan to 0.12 2019-12-16 21:58:05 +01:00
Jordi Boggiano f2058680a7
Remove unused use statements 2019-11-24 08:46:23 +01:00
Jordi Boggiano 5c62c7d566
Simplify promise handling 2019-11-23 12:37:17 +01:00
Jordi Boggiano f288acb1ca
Execute alias operations still 2019-11-23 11:29:50 +01:00
Jordi Boggiano 5725a2db57
Allow all prepare/cleanup/install/update/uninstall operations to return promises to be executed in parallel as well 2019-11-23 11:25:28 +01:00
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
2019-11-14 15:21:28 +01:00
Jordi Boggiano 53d2ab2253
Split up steps on VCS downloaders to allow doing network operations before touching the filesystem on GitDownloader, fixes #7903 2019-08-29 11:37:23 +02:00
Jordi Boggiano 3dfcae99a9 Add parallel download capability to FileDownloader and derivatives 2019-01-18 08:39:03 +01:00
Jordi Boggiano 122e422682 CS fixes 2017-03-08 15:16:44 +01: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
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
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 3d9daea6a0 CS fixes 2015-10-25 15:19:15 +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
Jordi Boggiano b232a31815 Fix --no-plugins support in installation manager, fixes #3031 2014-06-29 15:57:19 +02:00
Nils Adermann 15ac7be6f1 Fix disabling plugins which has to happen in the factory now 2013-08-30 12:51:41 +02:00
Nils Adermann f0b45099c1 Correct authorship info for files I edited 2013-08-30 12:51:41 +02:00
Nils Adermann 01a08a2ff3 As preparation for composer plugins, rename custom installers to plugins 2013-08-30 12:51:40 +02:00
Pavel Savinov 831bd844bd Almost PHPDoc problems fixed 2013-06-13 11:05:44 +11:00
Jordi Boggiano 1debe22412 Add HTTPS_PROXY_REQUEST_FULLURI to disable the request_fulluri only for https requests, fixes #1946, fixes #1839 2013-05-30 14:59:02 +02:00
Fernando Mantoan df592d40de Solving the issue #1387 2012-12-05 12:35:10 -02:00
Jordi Boggiano 4965fb599c s/return/continue/ 2012-11-29 10:11:23 +01:00
Jordi Boggiano a8f74a0983 Allow notification from locked installs, fixes #1368, fixes #1372, fixes #1369 2012-11-29 09:24:28 +01:00
Jordi Boggiano e868c9706b Add support for batch notifications 2012-11-28 18:44:49 +01:00
Pascal Borreli 83fd3967f0 Fixed PHPDoc 2012-10-24 23:44:40 +00:00
Jordi Boggiano ef637c8f1a CS fixes 2012-08-18 16:18:41 +02:00
Johannes M. Schmitt 88a1f27798 added a way to disable custom installers 2012-07-21 16:51:40 +02:00
Alexey Prilipko 22d41845ae Exclude dirs from list of binaries 2012-07-08 15:20:35 +11:00
Jordi Boggiano b876dcbafb Use the config object to define the vendor dir and not the installation manager 2012-06-24 21:58:51 +02:00
Jordi Boggiano 66e9dcddf4 CS fixes 2012-06-23 11:58:18 +02:00
Jordi Boggiano a518f471f7 Ensure aliases are removed from local repos when a package is deleted from the filesystem 2012-06-20 11:45:55 +02:00
Jordi Boggiano 1bd4ccbd54 php-cs-fixer magic 2012-05-22 12:07:08 +02:00
Jordi Boggiano 6864555aa4 Do not notify installation of aliases 2012-05-09 17:46:13 +02:00
Nils Adermann 0c1944a9d0 Let the solver handle aliases instead of the installer 2012-05-09 15:15:39 +02:00
Jordi Boggiano bd50ad32f0 Refactor InstallationManagerMock 2012-04-29 17:27:37 +02:00
Igor Wiedler 0995933183 Do not install root package as a vendor if some dependency requires it, closes #480
Also add some tests for the installer.
2012-04-27 12:29:11 +02:00
Jordi Boggiano 903facd64f Make sure the anti-aliased package contains the alias info from the correct alias 2012-04-24 11:16:25 +02:00
Jordi Boggiano bf6fd10a8a Make use of the proper interface 2012-04-18 00:59:42 +02:00
Jordi Boggiano 89e095b4b5 Handle --dev installs/updates 2012-04-14 23:38:10 +02:00
Jordi Boggiano b094ef7155 Add repository notification API support 2012-04-13 02:59:23 +02:00
Jordi Boggiano ceac0ca75b Fix updating of already installed dev packages, fixes #496 2012-04-02 21:32:05 +02:00
Jordi Boggiano 87c1629ebc Fix isInstalled detection broken by metapackage installer 2012-03-26 01:47:17 +02:00
Martin Hasoň c85ae48e5d Vendor dir can be outside the current working directory 2012-03-12 12:12:44 +01:00
Jordi Boggiano 0b7ee194c6 Remove persistence of alias data, make abstract branch aliasing and keep it in composer only 2012-02-25 02:52:19 +01:00
Jordi Boggiano 59d2b1145c Add lock file alias support and a bunch of fixes 2012-02-21 16:44:49 +01:00
Jordi Boggiano f9fc9695e9 Wrap the package in an aliased package instead of replacing 2012-02-21 15:32:45 +01:00
Jordi Boggiano cb44ba8325 Fix autoload handling of main project 2011-11-21 11:33:30 +01:00
Jordi Boggiano f5b7e968b2 Minor adjustments to merged PR 2011-11-20 22:03:11 +01:00
Ant Cunningham e0400773f7 Adding support for configurable vendor path in composer.json. 2011-11-18 13:31:50 -05:00
Jordi Boggiano 8aaac35ca1 Make installer type case insensitive 2011-10-30 22:01:37 +01:00
Jordi Boggiano c33fc80d23 Add supports() to the InstallerInterface 2011-10-23 19:40:24 +02:00
Igor Wiedler ea31039556 [autoload] autoloading prototype 2011-10-23 19:40:06 +02:00
everzet 2fc0699492 Moved operations evaluation into new InstallationManager class 2011-09-25 19:31:51 +03:00