Update dependence resolution for PEAR2 packages.
parent
9ca157913a
commit
b3d91cab02
|
@ -157,8 +157,10 @@ class PearRepository extends ArrayRepository
|
||||||
$data[$name] = $this->parseVersion($options);
|
$data[$name] = $this->parseVersion($options);
|
||||||
} elseif ('package' == $name) {
|
} elseif ('package' == $name) {
|
||||||
foreach ($options as $key => $value) {
|
foreach ($options as $key => $value) {
|
||||||
$dataKey = $value['name'];
|
if (is_array($value)) {
|
||||||
$data[$dataKey] = $this->parseVersion($value);
|
$dataKey = $value['name'];
|
||||||
|
$data[$dataKey] = $this->parseVersion($value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} elseif ('extension' == $name) {
|
} elseif ('extension' == $name) {
|
||||||
foreach ($options as $key => $value) {
|
foreach ($options as $key => $value) {
|
||||||
|
@ -223,9 +225,13 @@ class PearRepository extends ArrayRepository
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$depsData = $information->getElementsByTagName('deps')->item(0);
|
$depsData = array();
|
||||||
$depsData = $depsData->getElementsByTagName('d')->item(0);
|
foreach ($information->getElementsByTagName('deps') as $depElement) {
|
||||||
$depsData = $this->parseDependencies($depsData->nodeValue);
|
$depsVersion = $depElement->getElementsByTagName('v')->item(0)->nodeValue;
|
||||||
|
$depsData[$depsVersion] = $this->parseDependencies(
|
||||||
|
$depElement->getElementsByTagName('d')->item(0)->nodeValue
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$revisions = $information->getElementsByTagName('a')->item(0);
|
$revisions = $information->getElementsByTagName('a')->item(0);
|
||||||
$revisions = $revisions->getElementsByTagName('r');
|
$revisions = $revisions->getElementsByTagName('r');
|
||||||
|
@ -239,10 +245,13 @@ class PearRepository extends ArrayRepository
|
||||||
),
|
),
|
||||||
'version' => $version
|
'version' => $version
|
||||||
);
|
);
|
||||||
|
if (isset($depsData[$version])) {
|
||||||
|
$revisionData += $depsData[$version];
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->addPackage(
|
$this->addPackage(
|
||||||
$loader->load($packageData + $revisionData + $depsData)
|
$loader->load($packageData + $revisionData)
|
||||||
);
|
);
|
||||||
} catch (\UnexpectedValueException $e) {
|
} catch (\UnexpectedValueException $e) {
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in New Issue