1
0
Fork 0
Commit Graph

151 Commits (86008940036738138e5770a59abfc9db7fee4884)

Author SHA1 Message Date
Jordi Boggiano 131da999ac
Fix CS (#11003) 2022-08-17 14:20:07 +02:00
Mathias Reker ⚡️ 4131f7cf4c
Static lambda (#10854)
Lambdas not (indirect) referencing $this must be declared static.
2022-06-22 14:19:18 +02:00
Jordi Boggiano cb76394800
Merge branch '2.2' into 2.3 2022-06-06 16:34:34 +02:00
Jordi Boggiano e3527ea37f
Detect broken symlinks when checking for a package's presence, fixes #6708 2022-06-06 15:22:49 +02:00
Jordi Boggiano fd2972247f
Add missing param types, fixes #10638 2022-03-18 14:45:59 +01:00
Jordi Boggiano e63e15aea8
Fix usage of react/promise resolve() to prepare for v3 2022-03-18 09:20:42 +01:00
Jordi Boggiano 6a466a120a
Enable strict types on all files 2022-02-24 13:24:34 +01:00
Jordi Boggiano 6da38f83a0
Add parameter types to all the things 2022-02-22 16:48:53 +01:00
Alexander Schranz 1321bfca36
Add return types to closures (#9) 2022-02-21 13:37:49 +01:00
Jordi Boggiano 84f0f19112
Split Composer into PartialComposer & Composer classes to avoid nullable properties on Composer for non-fully-loaded instances, add types to Composer\Factory 2022-02-18 14:45:08 +01:00
Jordi Boggiano 4e6d54b731
Fix all 5.3 $this-in-closure usages 2022-01-03 16:32:39 +01:00
Jordi Boggiano 24ce1eddbd
Add composer/pcre dependency and use it everywhere instead of preg_* 2021-12-07 12:37:19 +01:00
Helmut Hummel f12a5b8214
Expose path to autoload in a global var for binaries (#10137)
Always create proxy files for package binaries,
to avoid not working binaries in case the package
was installed from a path repository and is itself linked

If the binary is a PHP script, a global variable is now exposed,
which holds the path to the vendor/autoload.php file.
This variable can the be used in the binaries to include this file
without guessing where the path to the vendor folder might be.

Additionally it is now checked on binary creation whether
the reference binary has a shebang and if not, generates
a much simple proxy code, because the stream wrapper code,
that is required for PHP <8 to omit the shebang from the output,
can be skipped.

Fixes: #10119

Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-11-25 09:53:03 +01:00
Jordi Boggiano c65d09dff7
Fix @inheritDoc annotations 2021-10-27 16:18:53 +02:00
Paolo Rossi a921d9b233
Reaching phpstan level 6 in EventDispatcher Exception and Installer folders (#10192) 2021-10-25 10:44:29 +02:00
Jordi Boggiano 4bcd860b65
Add more type annotations 2021-09-05 17:34:12 +02:00
Jordi Boggiano 3380178798
Introduce a cross-platform safe version of is_readable to support UNC / wsl$ paths on Windows (#9861) 2021-05-04 13:25:52 +02:00
Jordi Boggiano b7d770659b
CS fixes 2020-11-22 14:52:39 +01:00
Simon Berger bae227ec2d Changed all substr calls used to compare fragments of text to strpos
Some additional code cleanups in those classes

Reverted change causing issues
2020-09-07 21:08:34 +02:00
Jordi Boggiano 5761228068
Make installer classes forward promises from downloaders to InstallationManager 2020-06-04 10:34:16 +02: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
Matthew Brown 65903aacfd Fix type issues (#7996)
* Fix type issues found by Psalm
2019-02-19 15:35:48 +01:00
Jordi Boggiano 3dfcae99a9 Add parallel download capability to FileDownloader and derivatives 2019-01-18 08:39:03 +01:00
Jordi Boggiano e697293cd9 Handle broken symlinks more cleanly, fixes #7255 2018-05-04 11:17:43 +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
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 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 ace88fa986 Rename LibraryBinariesHandler and reorganize constructor args, refs #5100 2016-03-26 08:44:54 +00:00
Helmut Hummel b1ec99faed Extract binary installation and removal to own class
The functionality to install binaries might be useful
for other installers.
Create API for that by extracting this functionality from
the LibraryInstaller class.
2016-03-23 21:39:58 +01:00
Jordi Boggiano 9d95456bb0 Fix bug in handling of special chars in proxy .bat files for binaries, fixes #4990 2016-03-02 14:07:30 +00:00
Jos 51d4c930ef Fix for cygwin if $dir contains spaces
Without the quotes cygpath will interpret the filename (containing spaces) as two or more different files. This results in the value of $dir being incorrect.
2016-02-23 19:02:52 +01:00
Niels Keurentjes 72a3563f1e Removed some 3 year old backward compatibility code. 2016-02-15 21:37:19 +01:00
Niels Keurentjes 0dab63e050 Unified all Windows tests throughout the code. 2016-02-03 22:39:16 +01:00
Niels Keurentjes 18cd4f966b Added silencer utility to more gracefully handle error suppression without hiding errors or worse. Fixes #4203, #4683 2016-01-25 23:37:54 +01:00
Jordi Boggiano 966a982738 CS fixes 2015-11-21 19:28:10 +00:00
Jordi Boggiano d98b134dc3 Fix removal of packages installed in custom path with custom installers not overriding uninstall, fixes #2232 2015-11-19 16:36:19 +00:00
Jordi Boggiano 615638c7c3 Simplify bin-compat by removing the nosymlink option, refs #3704 2015-10-27 15:36:12 +00:00
Jordi Boggiano c9b51a5751 Merge remote-tracking branch 'kocsismate/feature-bin-compat' 2015-10-27 15:20:53 +00:00
Jordi Boggiano ebe0c8d79c Fix issue #3229, refs #3184 2015-10-27 15:12:18 +00:00
Jordi Boggiano 90a90e22de Merge remote-tracking branch 'Wirone/unixy-proxy'
Conflicts:
	src/Composer/Installer/LibraryInstaller.php
2015-10-27 15:10:35 +00:00
Gavin Staniforth c1e60a0abd Ensure the bin directory exists before checking empty
Line 130 has similar logic so avoided doing the check withiin `isDirEmpty()`
2015-09-23 13:46:35 +01:00
Jordi Boggiano 80f1e4372a Remove empty bin dir after all binaries have been removed from it, fixes #3451 2015-09-22 23:54:43 +01:00
Markus Thielen bd802407a8 Silence symlink() error
If not silenced it gives "symlink(): Operation not supported" on my ubuntu system with mounted cifs share.
2015-04-09 09:45:50 +02:00
Kocsis Máté f385518e1a Fixed merge conflict 2015-03-30 22:38:16 +02:00
Kocsis Máté 985c49d47c Removed unnecessary cwd 2015-03-30 22:27:13 +02:00
Kocsis Máté 38c26ae26b Added Symlink utility class 2015-03-30 20:00:12 +02:00
Rob Bast cb336a5416 Implement writeError throughout Composer 2015-02-25 11:00:35 +01:00
Kocsis Máté 08c4732d1e Improving bin-compat configuration 2015-02-03 19:27:29 +01:00