Jordi Boggiano
75e4d30151
Fix warnings when some code reuses the phpvfscomposer:// stream wrapper to try and access other files, refs #10387
2021-12-31 10:33:54 +01:00
Jordi Boggiano
2cd16b4578
Suppress errors if realpath fails or is missing
2021-12-30 21:52:57 +01:00
Jordi Boggiano
390260c6a6
Resolve binary realpath to make sure symlinking bin proxies works, refs jakzal/phpqa#336
2021-12-30 21:49:20 +01:00
Jordi Boggiano
d1d5d75c5f
Fix detection of PHP files to match also broken ones with leading whitespace or whitespace between shebang and <?php, refs jakzal/phpqa#336
2021-12-30 21:23:29 +01:00
Jordi Boggiano
09d1330937
Fix is_file() not working on the phpvfscomposer:// file when filtering phpunit backtraces, refs #10387
2021-12-30 20:49:44 +01:00
Jordi Boggiano
164a769dc6
Avoid returning actual fstat information as it induces modern PHPs in error when the returned file size is bigger than the fstat size, refs #10387
2021-12-30 20:40:55 +01:00
Jordi Boggiano
2a731ef798
Add workaround for PHPUnit process isolation issues for PHPUnit <6.5 as well, fixes #10387
2021-12-30 10:42:35 +01:00
Jordi Boggiano
6f5baab77b
Make COMPOSER_BIN_DIR env or _composer_bin_dir global available to binaries, fixes #10389 ( #10402 )
2021-12-28 21:31:52 +01:00
Jordi Boggiano
c1c6698799
Fix phpunit workaround syntax
2021-12-23 13:57:18 +01:00
Jordi Boggiano
7d1ca1f56d
Add workaround for PHPUnit process isolation combined with bin proxies, fixes #10387
2021-12-23 12:38:35 +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
483eac1c2f
Install full binaries on Windows by default ( #10327 )
...
A bug was introduced in #10137 that leads
to the situation that by default .bat binaries
are not installed on Windows any more.
Check the correct variable to install .bat
files on Windows by default again.
2021-12-03 11:16:58 +01:00
Jordi Boggiano
8a36c88cac
Get rid of $binPath global in bin proxies
2021-11-29 09:39:13 +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
28c34128ee
Fix php proxies to resolve __FILE__ and __DIR__ using realpath on PHP <8, fixes #10261
2021-11-08 15:03:05 +01:00
Jordi Boggiano
90087b4fb3
Fix handling of php bin proxies combined with declare() on php <8, fixes #10246 ( #10249 )
2021-11-02 11:36:31 +01:00
Jordi Boggiano
df6c2ce1db
Simplify php bin proxies further
2021-10-27 11:24:50 +02:00
Jordi Boggiano
e1dbd65aff
Fix bin proxies to use output buffering instead of the eval hack, as the __FILE__ and __DIR__ replacement is not safe when done in strings/nowdocs/..
2021-10-27 11:16:34 +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
bf3713072c
Fix source binaries not being made executable when symlinks cannot be used, fixes #9961
2021-06-09 16:25:16 +02:00
Sebastian Blank
a9031e40eb
Add "symlink" option for "bin-compat" config ( #9959 )
2021-06-09 11:33:44 +02:00
Jordi Boggiano
991985792d
Merge branch '2.0'
2021-05-20 14:16:52 +02:00
Jordi Boggiano
8427b6c8ed
Also make sure filesystem is up to date before generating binary links, refs #9627
2021-05-20 13:27:20 +02:00
Markus Staab
bfea0f7d1e
BinaryInstaller: install full binaries on WSL when bin-compat=auto ( #9855 )
2021-05-02 16:50:42 +02:00
Jordi Boggiano
8392508e23
Merge branch '2.0'
2021-03-09 15:29:19 +01:00
Jordi Boggiano
4bedd8379a
Fix php-proxying of binaries to avoid proxying phar files, fixes #9742
2021-03-09 14:12:32 +01:00
Jordi Boggiano
40800df6bd
Fix CS
2021-02-25 13:46:52 +01:00
Jordi Boggiano
b3b0cf629e
Generate binary proxy in PHP if the target binary is detected as a PHP script, so custom PHP processes can be used to call them via the bin proxy path, fixes #9325
2021-02-23 11:07:25 +01:00
johnstevenson
f4b9bbbf42
Make unixy proxy code POSIX compatible
2019-02-08 17:33:13 +00:00
Gabriel Caruso
7d9f8e2247
Improvements
...
Small improvements, such as remove unused imports, unecessaries casts, parentheses, etc.
2018-07-05 07:44:43 -03:00
johnstevenson
3511edc9e8
Fix shell proxy to allow user-defined cygdrive
2017-12-17 19:29:44 +00:00
Tom Klingenberg
1bc5163d34
mute first cd in win proxy stub for sh shell, fixes #6567
...
in the sh script, the first cd command did output the directory it cd'ed
into did output the path itself.
fix for me is to redirect it's standard output to /dev/null
using git bash on a windows 10 box.
w/o this fix, the workaround is to invoke the .bat file which is created
as well (but this is not so handy as a non windows user for me).
2017-07-27 00:47:43 +02:00
Jordi Boggiano
2d8251b7ad
Fix handling of local binaries on windows, refs #5612
2016-09-10 12:51:53 +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
Sami Jawhar
9d2db57f65
BinaryInstaller::generateWindowsProxyCode() now trims both single and double quotes from $binPath when creating windows .bat file.
2016-04-18 09:35:11 +01:00
Jordi Boggiano
3b0a1c6f70
Run cs fixer and update config to latest master
2016-04-11 15:06:57 +01:00
Jordi Boggiano
6a88d49ffb
Add support for the new binary installer in PEAR installer, fixes #5117
2016-03-27 13:16:11 +01:00
Jordi Boggiano
ace88fa986
Rename LibraryBinariesHandler and reorganize constructor args, refs #5100
2016-03-26 08:44:54 +00:00