PluginProbe
Extendify / 0.2.0
Extendify v0.2.0
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
extendify / vendor / composer / InstalledVersions.php

InstalledVersions.php in Extendify 0.2.0, at vendor/composer/InstalledVersions.php

655 lines 13.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4
5
6
7
8
9
10
11
12
13 namespace Composer;
14
15 use Composer\Autoload\ClassLoader;
16 use Composer\Semver\VersionParser;
17
18
19
20
21
22
23 class InstalledVersions
24 {
25 private static $installed = array (
26 'root' =>
27 array (
28 'pretty_version' => 'dev-main',
29 'version' => 'dev-main',
30 'aliases' =>
31 array (
32 ),
33 'reference' => 'ac2cfec95277e7980dfcf8dfde5cd858f1023e03',
34 'name' => 'extendify/extendify',
35 ),
36 'versions' =>
37 array (
38 'dealerdirect/phpcodesniffer-composer-installer' =>
39 array (
40 'pretty_version' => 'v0.7.1',
41 'version' => '0.7.1.0',
42 'aliases' =>
43 array (
44 ),
45 'reference' => 'fe390591e0241955f22eb9ba327d137e501c771c',
46 ),
47 'doctrine/instantiator' =>
48 array (
49 'pretty_version' => '1.4.0',
50 'version' => '1.4.0.0',
51 'aliases' =>
52 array (
53 ),
54 'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b',
55 ),
56 'extendify/extendify' =>
57 array (
58 'pretty_version' => 'dev-main',
59 'version' => 'dev-main',
60 'aliases' =>
61 array (
62 ),
63 'reference' => 'ac2cfec95277e7980dfcf8dfde5cd858f1023e03',
64 ),
65 'johnpbloch/wordpress-core' =>
66 array (
67 'pretty_version' => '5.7.0',
68 'version' => '5.7.0.0',
69 'aliases' =>
70 array (
71 ),
72 'reference' => '8b057056692ca196aaa7a7ddd915f29426922c6d',
73 ),
74 'myclabs/deep-copy' =>
75 array (
76 'pretty_version' => '1.10.2',
77 'version' => '1.10.2.0',
78 'aliases' =>
79 array (
80 ),
81 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
82 'replaced' =>
83 array (
84 0 => '1.10.2',
85 ),
86 ),
87 'nikic/php-parser' =>
88 array (
89 'pretty_version' => 'v4.10.4',
90 'version' => '4.10.4.0',
91 'aliases' =>
92 array (
93 ),
94 'reference' => 'c6d052fc58cb876152f89f532b95a8d7907e7f0e',
95 ),
96 'phar-io/manifest' =>
97 array (
98 'pretty_version' => '2.0.1',
99 'version' => '2.0.1.0',
100 'aliases' =>
101 array (
102 ),
103 'reference' => '85265efd3af7ba3ca4b2a2c34dbfc5788dd29133',
104 ),
105 'phar-io/version' =>
106 array (
107 'pretty_version' => '3.1.0',
108 'version' => '3.1.0.0',
109 'aliases' =>
110 array (
111 ),
112 'reference' => 'bae7c545bef187884426f042434e561ab1ddb182',
113 ),
114 'phpcompatibility/php-compatibility' =>
115 array (
116 'pretty_version' => '9.3.5',
117 'version' => '9.3.5.0',
118 'aliases' =>
119 array (
120 ),
121 'reference' => '9fb324479acf6f39452e0655d2429cc0d3914243',
122 ),
123 'phpcompatibility/phpcompatibility-paragonie' =>
124 array (
125 'pretty_version' => '1.3.1',
126 'version' => '1.3.1.0',
127 'aliases' =>
128 array (
129 ),
130 'reference' => 'ddabec839cc003651f2ce695c938686d1086cf43',
131 ),
132 'phpcompatibility/phpcompatibility-wp' =>
133 array (
134 'pretty_version' => '2.1.1',
135 'version' => '2.1.1.0',
136 'aliases' =>
137 array (
138 ),
139 'reference' => 'b7dc0cd7a8f767ccac5e7637550ea1c50a67b09e',
140 ),
141 'phpdocumentor/reflection-common' =>
142 array (
143 'pretty_version' => '2.2.0',
144 'version' => '2.2.0.0',
145 'aliases' =>
146 array (
147 ),
148 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b',
149 ),
150 'phpdocumentor/reflection-docblock' =>
151 array (
152 'pretty_version' => '5.2.2',
153 'version' => '5.2.2.0',
154 'aliases' =>
155 array (
156 ),
157 'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556',
158 ),
159 'phpdocumentor/type-resolver' =>
160 array (
161 'pretty_version' => '1.4.0',
162 'version' => '1.4.0.0',
163 'aliases' =>
164 array (
165 ),
166 'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0',
167 ),
168 'phpspec/prophecy' =>
169 array (
170 'pretty_version' => '1.13.0',
171 'version' => '1.13.0.0',
172 'aliases' =>
173 array (
174 ),
175 'reference' => 'be1996ed8adc35c3fd795488a653f4b518be70ea',
176 ),
177 'phpunit/php-code-coverage' =>
178 array (
179 'pretty_version' => '9.2.6',
180 'version' => '9.2.6.0',
181 'aliases' =>
182 array (
183 ),
184 'reference' => 'f6293e1b30a2354e8428e004689671b83871edde',
185 ),
186 'phpunit/php-file-iterator' =>
187 array (
188 'pretty_version' => '3.0.5',
189 'version' => '3.0.5.0',
190 'aliases' =>
191 array (
192 ),
193 'reference' => 'aa4be8575f26070b100fccb67faabb28f21f66f8',
194 ),
195 'phpunit/php-invoker' =>
196 array (
197 'pretty_version' => '3.1.1',
198 'version' => '3.1.1.0',
199 'aliases' =>
200 array (
201 ),
202 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67',
203 ),
204 'phpunit/php-text-template' =>
205 array (
206 'pretty_version' => '2.0.4',
207 'version' => '2.0.4.0',
208 'aliases' =>
209 array (
210 ),
211 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28',
212 ),
213 'phpunit/php-timer' =>
214 array (
215 'pretty_version' => '5.0.3',
216 'version' => '5.0.3.0',
217 'aliases' =>
218 array (
219 ),
220 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2',
221 ),
222 'phpunit/phpunit' =>
223 array (
224 'pretty_version' => '9.5.4',
225 'version' => '9.5.4.0',
226 'aliases' =>
227 array (
228 ),
229 'reference' => 'c73c6737305e779771147af66c96ca6a7ed8a741',
230 ),
231 'sebastian/cli-parser' =>
232 array (
233 'pretty_version' => '1.0.1',
234 'version' => '1.0.1.0',
235 'aliases' =>
236 array (
237 ),
238 'reference' => '442e7c7e687e42adc03470c7b668bc4b2402c0b2',
239 ),
240 'sebastian/code-unit' =>
241 array (
242 'pretty_version' => '1.0.8',
243 'version' => '1.0.8.0',
244 'aliases' =>
245 array (
246 ),
247 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120',
248 ),
249 'sebastian/code-unit-reverse-lookup' =>
250 array (
251 'pretty_version' => '2.0.3',
252 'version' => '2.0.3.0',
253 'aliases' =>
254 array (
255 ),
256 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5',
257 ),
258 'sebastian/comparator' =>
259 array (
260 'pretty_version' => '4.0.6',
261 'version' => '4.0.6.0',
262 'aliases' =>
263 array (
264 ),
265 'reference' => '55f4261989e546dc112258c7a75935a81a7ce382',
266 ),
267 'sebastian/complexity' =>
268 array (
269 'pretty_version' => '2.0.2',
270 'version' => '2.0.2.0',
271 'aliases' =>
272 array (
273 ),
274 'reference' => '739b35e53379900cc9ac327b2147867b8b6efd88',
275 ),
276 'sebastian/diff' =>
277 array (
278 'pretty_version' => '4.0.4',
279 'version' => '4.0.4.0',
280 'aliases' =>
281 array (
282 ),
283 'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d',
284 ),
285 'sebastian/environment' =>
286 array (
287 'pretty_version' => '5.1.3',
288 'version' => '5.1.3.0',
289 'aliases' =>
290 array (
291 ),
292 'reference' => '388b6ced16caa751030f6a69e588299fa09200ac',
293 ),
294 'sebastian/exporter' =>
295 array (
296 'pretty_version' => '4.0.3',
297 'version' => '4.0.3.0',
298 'aliases' =>
299 array (
300 ),
301 'reference' => 'd89cc98761b8cb5a1a235a6b703ae50d34080e65',
302 ),
303 'sebastian/global-state' =>
304 array (
305 'pretty_version' => '5.0.2',
306 'version' => '5.0.2.0',
307 'aliases' =>
308 array (
309 ),
310 'reference' => 'a90ccbddffa067b51f574dea6eb25d5680839455',
311 ),
312 'sebastian/lines-of-code' =>
313 array (
314 'pretty_version' => '1.0.3',
315 'version' => '1.0.3.0',
316 'aliases' =>
317 array (
318 ),
319 'reference' => 'c1c2e997aa3146983ed888ad08b15470a2e22ecc',
320 ),
321 'sebastian/object-enumerator' =>
322 array (
323 'pretty_version' => '4.0.4',
324 'version' => '4.0.4.0',
325 'aliases' =>
326 array (
327 ),
328 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71',
329 ),
330 'sebastian/object-reflector' =>
331 array (
332 'pretty_version' => '2.0.4',
333 'version' => '2.0.4.0',
334 'aliases' =>
335 array (
336 ),
337 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7',
338 ),
339 'sebastian/recursion-context' =>
340 array (
341 'pretty_version' => '4.0.4',
342 'version' => '4.0.4.0',
343 'aliases' =>
344 array (
345 ),
346 'reference' => 'cd9d8cf3c5804de4341c283ed787f099f5506172',
347 ),
348 'sebastian/resource-operations' =>
349 array (
350 'pretty_version' => '3.0.3',
351 'version' => '3.0.3.0',
352 'aliases' =>
353 array (
354 ),
355 'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8',
356 ),
357 'sebastian/type' =>
358 array (
359 'pretty_version' => '2.3.1',
360 'version' => '2.3.1.0',
361 'aliases' =>
362 array (
363 ),
364 'reference' => '81cd61ab7bbf2de744aba0ea61fae32f721df3d2',
365 ),
366 'sebastian/version' =>
367 array (
368 'pretty_version' => '3.0.2',
369 'version' => '3.0.2.0',
370 'aliases' =>
371 array (
372 ),
373 'reference' => 'c6c1022351a901512170118436c764e473f6de8c',
374 ),
375 'squizlabs/php_codesniffer' =>
376 array (
377 'pretty_version' => '3.6.0',
378 'version' => '3.6.0.0',
379 'aliases' =>
380 array (
381 ),
382 'reference' => 'ffced0d2c8fa8e6cdc4d695a743271fab6c38625',
383 ),
384 'symfony/polyfill-ctype' =>
385 array (
386 'pretty_version' => 'v1.22.1',
387 'version' => '1.22.1.0',
388 'aliases' =>
389 array (
390 ),
391 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e',
392 ),
393 'theseer/tokenizer' =>
394 array (
395 'pretty_version' => '1.2.0',
396 'version' => '1.2.0.0',
397 'aliases' =>
398 array (
399 ),
400 'reference' => '75a63c33a8577608444246075ea0af0d052e452a',
401 ),
402 'webmozart/assert' =>
403 array (
404 'pretty_version' => '1.10.0',
405 'version' => '1.10.0.0',
406 'aliases' =>
407 array (
408 ),
409 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25',
410 ),
411 'wordpress/core-implementation' =>
412 array (
413 'provided' =>
414 array (
415 0 => '5.7.0',
416 ),
417 ),
418 ),
419 );
420 private static $canGetVendors;
421 private static $installedByVendor = array();
422
423
424
425
426
427
428
429 public static function getInstalledPackages()
430 {
431 $packages = array();
432 foreach (self::getInstalled() as $installed) {
433 $packages[] = array_keys($installed['versions']);
434 }
435
436
437 if (1 === \count($packages)) {
438 return $packages[0];
439 }
440
441 return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
442 }
443
444
445
446
447
448
449
450
451
452 public static function isInstalled($packageName)
453 {
454 foreach (self::getInstalled() as $installed) {
455 if (isset($installed['versions'][$packageName])) {
456 return true;
457 }
458 }
459
460 return false;
461 }
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476 public static function satisfies(VersionParser $parser, $packageName, $constraint)
477 {
478 $constraint = $parser->parseConstraints($constraint);
479 $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
480
481 return $provided->matches($constraint);
482 }
483
484
485
486
487
488
489
490
491
492
493 public static function getVersionRanges($packageName)
494 {
495 foreach (self::getInstalled() as $installed) {
496 if (!isset($installed['versions'][$packageName])) {
497 continue;
498 }
499
500 $ranges = array();
501 if (isset($installed['versions'][$packageName]['pretty_version'])) {
502 $ranges[] = $installed['versions'][$packageName]['pretty_version'];
503 }
504 if (array_key_exists('aliases', $installed['versions'][$packageName])) {
505 $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
506 }
507 if (array_key_exists('replaced', $installed['versions'][$packageName])) {
508 $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
509 }
510 if (array_key_exists('provided', $installed['versions'][$packageName])) {
511 $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
512 }
513
514 return implode(' || ', $ranges);
515 }
516
517 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
518 }
519
520
521
522
523
524 public static function getVersion($packageName)
525 {
526 foreach (self::getInstalled() as $installed) {
527 if (!isset($installed['versions'][$packageName])) {
528 continue;
529 }
530
531 if (!isset($installed['versions'][$packageName]['version'])) {
532 return null;
533 }
534
535 return $installed['versions'][$packageName]['version'];
536 }
537
538 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
539 }
540
541
542
543
544
545 public static function getPrettyVersion($packageName)
546 {
547 foreach (self::getInstalled() as $installed) {
548 if (!isset($installed['versions'][$packageName])) {
549 continue;
550 }
551
552 if (!isset($installed['versions'][$packageName]['pretty_version'])) {
553 return null;
554 }
555
556 return $installed['versions'][$packageName]['pretty_version'];
557 }
558
559 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
560 }
561
562
563
564
565
566 public static function getReference($packageName)
567 {
568 foreach (self::getInstalled() as $installed) {
569 if (!isset($installed['versions'][$packageName])) {
570 continue;
571 }
572
573 if (!isset($installed['versions'][$packageName]['reference'])) {
574 return null;
575 }
576
577 return $installed['versions'][$packageName]['reference'];
578 }
579
580 throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
581 }
582
583
584
585
586
587 public static function getRootPackage()
588 {
589 $installed = self::getInstalled();
590
591 return $installed[0]['root'];
592 }
593
594
595
596
597
598
599
600 public static function getRawData()
601 {
602 return self::$installed;
603 }
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623 public static function reload($data)
624 {
625 self::$installed = $data;
626 self::$installedByVendor = array();
627 }
628
629
630
631
632 private static function getInstalled()
633 {
634 if (null === self::$canGetVendors) {
635 self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
636 }
637
638 $installed = array();
639
640 if (self::$canGetVendors) {
641 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
642 if (isset(self::$installedByVendor[$vendorDir])) {
643 $installed[] = self::$installedByVendor[$vendorDir];
644 } elseif (is_file($vendorDir.'/composer/installed.php')) {
645 $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
646 }
647 }
648 }
649
650 $installed[] = self::$installed;
651
652 return $installed;
653 }
654 }
655