8000 Merge branch '4.1' · symfony/symfony@37a3f0b · GitHub
[go: up one dir, main page]

Skip to content

Commit 37a3f0b

Browse files
Merge branch '4.1'
* 4.1: [travis] ignore ordering when validating composer.lock files for deps=low
2 parents c1983b2 + cfc112a commit 37a3f0b

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

.github/rm-invalid-lowest-lock-files.php

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
array_shift($_SERVER['argv']);
44
$dirs = $_SERVER['argv'];
55

6-
function getContentHash($composerJson)
6+
function getRelevantContent(array $composerJson)
77
{
88
$relevantKeys = array(
99
'name',
@@ -27,12 +27,18 @@ function getContentHash($composerJson)
2727
$relevantContent['config']['platform'] = $composerJson['config']['platform'];
2828
}
2929

30+
return $relevantContent;
31+
}
32+
33+
function getContentHash(array $composerJson)
34+
{
35+
$relevantContent = getRelevantContent($composerJson);
3036
ksort($relevantContent);
3137

3238
return md5(json_encode($relevantContent));
3339
}
3440

35-
$composerLocks = array();
41+
$composerJsons = array();
3642

3743
foreach ($dirs as $dir) {
3844
if (!file_exists($dir.'/composer.lock') || !$composerLock = @json_decode(file_get_contents($dir.'/composer.lock'), true)) {
@@ -50,28 +56,29 @@ function getContentHash($composerJson)
5056
@unlink($dir.'/composer.lock');
5157
continue;
5258
}
53-
$composerLocks[$composerJson['name']] = array($dir, $composerLock, $composerJson);
59+
$composerJsons[$composerJson['name']] = array($dir, $composerLock['packages'], getRelevantContent($composerJson));
5460
}
5561

56-
foreach ($composerLocks as list($dir, $composerLock)) {
57-
foreach ($composerLock['packages'] as $composerJson) {
58-
if (0 !== strpos($version = $composerJson['version'], 'dev-') && '-dev' !== substr($version, -4)) {
62+
foreach ($composerJsons as list($dir, $lockedPackages)) {
63+
foreach ($lockedPackages as $lockedJson) {
64+
if (0 !== strpos($version = $lockedJson['version'], 'dev-') && '-dev' !== substr($version, -4)) {
5965
continue;
6066
}
6167

62-
if (!isset($composerLocks[$name = $composerJson['name']])) {
68+
if (!isset($composerJsons[$name = $lockedJson['name']])) {
6369
echo "$dir/composer.lock references missing $name.\n";
6470
@unlink($dir.'/composer.lock');
6571
continue 2;
6672
}
6773

6874
foreach (array('minimum-stability', 'prefer-stable', 'repositories') as $key) {
69-
if (array_key_exists($key, $composerLocks[$name][2])) {
70-
$composerJson[$key] = $composerLocks[$name][2][$key];
75+
if (array_key_exists($key, $composerJsons[$name][2])) {
76+
$lockedJson[$key] = $composerJsons[$name][2][$key];
7177
}
7278
}
7379

74-
if (getContentHash($composerJson) !== $composerLocks[$name][1]['content-hash']) {
80+
// use weak comparison to ignore ordering
81+
if (getRelevantContent($lockedJson) != $composerJsons[$name][2]) {
7582
echo "$dir/composer.lock is not in sync with $name.\n";
7683
@unlink($dir.'/composer.lock');
7784
continue 2;

0 commit comments

Comments
 (0)
0