Plugin Directory

source: blocks-for-civicrm/trunk/vendor/composer/InstalledVersions.php @ 3086346

Last change on this file since 3086346 was 3086346, checked in by bastho, 2 months ago

v1.4.1

File size: 3.7 KB
Line 
1<?php
2
3
4
5
6
7
8
9
10
11
12
13namespace Composer;
14
15use Composer\Semver\VersionParser;
16
17
18
19
20
21
22class InstalledVersions
23{
24private static $installed = array (
25  'root' => 
26  array (
27    'pretty_version' => '1.4.1',
28    'version' => '1.4.1.0',
29    'aliases' => 
30    array (
31    ),
32    'reference' => NULL,
33    'name' => '__root__',
34  ),
35  'versions' => 
36  array (
37    '__root__' => 
38    array (
39      'pretty_version' => '1.4.1',
40      'version' => '1.4.1.0',
41      'aliases' => 
42      array (
43      ),
44      'reference' => NULL,
45    ),
46    'agencenous/bump-version' => 
47    array (
48      'pretty_version' => '1.2.0',
49      'version' => '1.2.0.0',
50      'aliases' => 
51      array (
52      ),
53      'reference' => '6f345c8f5b4ffd4740ab57291a576b8136b61437',
54    ),
55    'agencenous/wp-reporting' => 
56    array (
57      'pretty_version' => 'dev-main',
58      'version' => 'dev-main',
59      'aliases' => 
60      array (
61        0 => '9999999-dev',
62      ),
63      'reference' => 'a7841b6fb4a0d062620645f6dbf062e4486fd03b',
64    ),
65  ),
66);
67
68
69
70
71
72
73
74public static function getInstalledPackages()
75{
76return array_keys(self::$installed['versions']);
77}
78
79
80
81
82
83
84
85
86
87public static function isInstalled($packageName)
88{
89return isset(self::$installed['versions'][$packageName]);
90}
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105public static function satisfies(VersionParser $parser, $packageName, $constraint)
106{
107$constraint = $parser->parseConstraints($constraint);
108$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
109
110return $provided->matches($constraint);
111}
112
113
114
115
116
117
118
119
120
121
122public static function getVersionRanges($packageName)
123{
124if (!isset(self::$installed['versions'][$packageName])) {
125throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
126}
127
128$ranges = array();
129if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
130$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
131}
132if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
133$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
134}
135if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
136$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
137}
138if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
139$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
140}
141
142return implode(' || ', $ranges);
143}
144
145
146
147
148
149public static function getVersion($packageName)
150{
151if (!isset(self::$installed['versions'][$packageName])) {
152throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
153}
154
155if (!isset(self::$installed['versions'][$packageName]['version'])) {
156return null;
157}
158
159return self::$installed['versions'][$packageName]['version'];
160}
161
162
163
164
165
166public static function getPrettyVersion($packageName)
167{
168if (!isset(self::$installed['versions'][$packageName])) {
169throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
170}
171
172if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
173return null;
174}
175
176return self::$installed['versions'][$packageName]['pretty_version'];
177}
178
179
180
181
182
183public static function getReference($packageName)
184{
185if (!isset(self::$installed['versions'][$packageName])) {
186throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
187}
188
189if (!isset(self::$installed['versions'][$packageName]['reference'])) {
190return null;
191}
192
193return self::$installed['versions'][$packageName]['reference'];
194}
195
196
197
198
199
200public static function getRootPackage()
201{
202return self::$installed['root'];
203}
204
205
206
207
208
209
210
211public static function getRawData()
212{
213return self::$installed;
214}
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234public static function reload($data)
235{
236self::$installed = $data;
237}
238}
Note: See TracBrowser for help on using the repository browser.