Skip to content

Commit

Permalink
refactor(option): fix for composer 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
doyouhaobaby committed Nov 8, 2020
1 parent 5b853ff commit e6112f5
Showing 1 changed file with 9 additions and 17 deletions.
26 changes: 9 additions & 17 deletions src/Leevel/Option/ComposerOption.php
Expand Up @@ -82,7 +82,6 @@ public function loadData(): array
}

$data = [];

foreach ($this->getPackages() as $package) {
if ($option = $this->getLeevelOption($package)) {
$data = $data ? $this->mergeOption($data, $option) : $option;
Expand All @@ -101,11 +100,12 @@ public function loadData(): array
protected function getPackages(): array
{
$packages = [];

$installedJson = $this->path.'/vendor/composer/installed.json';

if (is_file($installedJson)) {
if (is_file($installedJson = $this->path.'/vendor/composer/installed.json')) {
$packages = $this->getFileContent($installedJson);
// 鍏煎 Composer 2.0
if (isset($packages['packages'])) {
$packages = $packages['packages'];
}
}

return $packages;
Expand All @@ -117,7 +117,6 @@ protected function getPackages(): array
protected function mergeOption(array $olds, array $options): array
{
$result = [];

foreach ($this->supportedOptions as $item) {
$result[$item] = array_merge($olds[$item] ?? [], $options[$item] ?? []);
}
Expand All @@ -130,13 +129,11 @@ protected function mergeOption(array $olds, array $options): array
*/
protected function getLeevelOption(array $package): array
{
$options = $package['extra']['leevel'] ?? [];

if ($options) {
$options = $this->normalizeOption($options);
if (empty($package['extra']['leevel'])) {
return [];
}

return $options;
return $this->normalizeOption($package['extra']['leevel']);
}

/**
Expand All @@ -145,14 +142,11 @@ protected function getLeevelOption(array $package): array
protected function normalizeOption(array $options): array
{
$result = [];

foreach ($this->supportedOptions as $item) {
$tmp = $options[$item] ?? [];

if (!is_array($tmp)) {
$tmp = [$tmp];
}

$result[$item] = $tmp;
}

Expand All @@ -164,9 +158,7 @@ protected function normalizeOption(array $options): array
*/
protected function getAppComposerOption(): array
{
$path = $this->path.'/composer.json';

if (!is_file($path)) {
if (!is_file($path = $this->path.'/composer.json')) {
return [];
}

Expand Down

0 comments on commit e6112f5

Please sign in to comment.