PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.5
Independent Analytics – WordPress Analytics Plugin v2.15.5
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / support / Composer.php
independent-analytics / vendor / illuminate / support Last commit date
Exceptions 1 month ago Facades 1 month ago Testing 1 month ago Traits 1 month ago AggregateServiceProvider.php 2 years ago Benchmark.php 1 month ago Carbon.php 1 month ago Composer.php 1 month ago ConfigurationUrlParser.php 1 month ago DateFactory.php 1 month ago Env.php 1 month ago Fluent.php 1 month ago HigherOrderTapProxy.php 2 years ago HtmlString.php 2 years ago InteractsWithTime.php 2 years ago Js.php 1 month ago Lottery.php 1 month ago Manager.php 2 years ago MessageBag.php 1 month ago MultipleInstanceManager.php 1 month ago NamespacedItemResolver.php 1 month ago Optional.php 1 month ago Pluralizer.php 1 month ago ProcessUtils.php 1 month ago Reflector.php 1 month ago ServiceProvider.php 2 years ago Str.php 1 month ago Stringable.php 1 month ago Timebox.php 1 month ago ValidatedInput.php 1 month ago ViewErrorBag.php 1 month ago helpers.php 1 month ago
Composer.php
115 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Support;
4
5 use IAWPSCOPED\Illuminate\Filesystem\Filesystem;
6 use IAWPSCOPED\Symfony\Component\Process\PhpExecutableFinder;
7 use IAWPSCOPED\Symfony\Component\Process\Process;
8 /** @internal */
9 class Composer
10 {
11 /**
12 * The filesystem instance.
13 *
14 * @var \Illuminate\Filesystem\Filesystem
15 */
16 protected $files;
17 /**
18 * The working path to regenerate from.
19 *
20 * @var string|null
21 */
22 protected $workingPath;
23 /**
24 * Create a new Composer manager instance.
25 *
26 * @param \Illuminate\Filesystem\Filesystem $files
27 * @param string|null $workingPath
28 * @return void
29 */
30 public function __construct(Filesystem $files, $workingPath = null)
31 {
32 $this->files = $files;
33 $this->workingPath = $workingPath;
34 }
35 /**
36 * Regenerate the Composer autoloader files.
37 *
38 * @param string|array $extra
39 * @return int
40 */
41 public function dumpAutoloads($extra = '')
42 {
43 $extra = $extra ? (array) $extra : [];
44 $command = \array_merge($this->findComposer(), ['dump-autoload'], $extra);
45 return $this->getProcess($command)->run();
46 }
47 /**
48 * Regenerate the optimized Composer autoloader files.
49 *
50 * @return int
51 */
52 public function dumpOptimized()
53 {
54 return $this->dumpAutoloads('--optimize');
55 }
56 /**
57 * Get the composer command for the environment.
58 *
59 * @return array
60 */
61 public function findComposer()
62 {
63 if ($this->files->exists($this->workingPath . '/composer.phar')) {
64 return [$this->phpBinary(), 'composer.phar'];
65 }
66 return ['composer'];
67 }
68 /**
69 * Get the PHP binary.
70 *
71 * @return string
72 */
73 protected function phpBinary()
74 {
75 return ProcessUtils::escapeArgument((new PhpExecutableFinder())->find(\false));
76 }
77 /**
78 * Get a new Symfony process instance.
79 *
80 * @param array $command
81 * @return \Symfony\Component\Process\Process
82 */
83 protected function getProcess(array $command)
84 {
85 return (new Process($command, $this->workingPath))->setTimeout(null);
86 }
87 /**
88 * Set the working path used by the class.
89 *
90 * @param string $path
91 * @return $this
92 */
93 public function setWorkingPath($path)
94 {
95 $this->workingPath = \realpath($path);
96 return $this;
97 }
98 /**
99 * Get the version of Composer.
100 *
101 * @return string|null
102 */
103 public function getVersion()
104 {
105 $command = \array_merge($this->findComposer(), ['-V', '--no-ansi']);
106 $process = $this->getProcess($command);
107 $process->run();
108 $output = $process->getOutput();
109 if (\preg_match('/(\\d+(\\.\\d+){2})/', $output, $version)) {
110 return $version[1];
111 }
112 return \explode(' ', $output)[2] ?? null;
113 }
114 }
115