21 Aug 2024 |
piotrkwiecinski | These paths are part of PSR4 logic | 18:39:01 |
piotrkwiecinski | If I read it correctly autoload_psr4.php is generated first and is used by autoload_static.php | 18:40:26 |
piotrkwiecinski | https://github.com/composer/composer/blob/main/src/Composer/Autoload/AutoloadGenerator.php#L263-L287 it's a good starting point for debugging | 18:49:59 |
Pol | Most probably that the function getPathCode is missing a sort somewhere. | 19:16:11 |
Pol | But I cannot have a look at this before next week | 19:16:24 |
piotrkwiecinski | I'm trying to see if adding sort before they are saved to file helps | 19:16:28 |
Pol | I have some kind of hard deadline for the moment, and I can't do anything else. | 19:16:40 |
piotrkwiecinski | after getPathCode | 19:16:47 |
Pol | Just shove it in getPathCode so it's cleaner. | 19:17:09 |
piotrkwiecinski | $exportedPaths = [];
foreach ($paths as $path) {
$exportedPaths[] = $this->getPathCode($filesystem, $basePath, $vendorPath, $path);
}
| 19:17:31 |
piotrkwiecinski | getPathCode is a string | 19:17:38 |
piotrkwiecinski | so we have to sort the array after it's generated | 19:18:04 |
Pol | https://github.com/composer/composer/blob/main/src/Composer/Autoload/AutoloadGenerator.php#L735C15-L735C35 | 19:19:03 |
Pol | Oh wait. | 19:19:15 |
Pol | you're right. sorry. | 19:19:26 |
Pol | I guess it's a missing sort somewhere before that. | 19:20:01 |
22 Aug 2024 |
Pol | piotrkwiecinski: I cannot reproduce the issue with the patch you provided. | 04:33:45 |
Pol | I get a stable hash for phpdocumentor with it: sha256-LFrkJaFfMzNWOgeUXrNLLURpMt0eNqCUHcTYnIcQJqk= | 04:34:17 |
Pol | OK, got a working patch, plus a refactoring, plus the tests updated. | 05:21:27 |
Pol | Let me know if this is OK for you: https://github.com/composer/composer/pull/12090 | 05:29:02 |