Skip to content

Commit

Permalink
Merge pull request #70 from kdambekalns/task/merge-provide-declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
kitsunet committed Nov 3, 2023
2 parents cedc624 + 3256db0 commit a3e4777
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion ComposerManifestMerger.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ function mergeAutoloadSection(array $joinedManifest, array $manifestData, string

$joinedRepositoryPackages[] = $manifestData['name'];

foreach (['require', 'require-dev', 'suggest'] as $arraySectionKey) {
foreach (['require', 'require-dev', 'suggest', 'provide'] as $arraySectionKey) {
$joinedManifest = mergeArraySection($joinedManifest, $manifestData, $arraySectionKey);
}

Expand Down Expand Up @@ -97,13 +97,22 @@ function mergeAutoloadSection(array $joinedManifest, array $manifestData, string
$replace = $manifestData['replace'];
$joinedManifest['replace'] = array_merge_recursive($joinedManifest['replace'], $replace);
}

if (isset($manifestData['provide'])) {
$provide = $manifestData['provide'];
$joinedManifest['provide'] = array_merge_recursive($joinedManifest['provide'], $provide);
}
}

foreach ($joinedRepositoryPackages as $containedPackageName) {
unset($joinedManifest['require'][$containedPackageName]);
$joinedManifest['replace'][$containedPackageName] = 'self.version';
}

foreach ($joinedManifest['provide'] as $packageName => $versions) {
$joinedManifest['provide'][$packageName] = current($versions);
}

$joinedComposerJson = json_encode($joinedManifest, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL;
file_put_contents('composer.json', $joinedComposerJson);

Expand Down

0 comments on commit a3e4777

Please sign in to comment.