25
25
use function array_filter ;
26
26
use function array_key_exists ;
27
27
use function array_keys ;
28
+ use function array_merge ;
28
29
use function array_unique ;
29
30
use function array_values ;
30
31
use function count ;
31
32
use function get_loaded_extensions ;
32
33
use function implode ;
33
34
use function is_array ;
35
+ use function is_dir ;
34
36
use function is_file ;
35
37
use function ksort ;
36
38
use function microtime ;
@@ -60,6 +62,7 @@ final class ResultCacheManager
60
62
61
63
/**
62
64
* @param string[] $analysedPaths
65
+ * @param string[] $analysedPathsFromConfig
63
66
* @param string[] $composerAutoloaderProjectPaths
64
67
* @param string[] $bootstrapFiles
65
68
* @param string[] $scanFiles
@@ -73,6 +76,7 @@ public function __construct(
73
76
private FileHelper $ fileHelper ,
74
77
private string $ cacheFilePath ,
75
78
private array $ analysedPaths ,
79
+ private array $ analysedPathsFromConfig ,
76
80
private array $ composerAutoloaderProjectPaths ,
77
81
private string $ usedLevel ,
78
82
private ?string $ cliAutoloadFile ,
@@ -946,11 +950,23 @@ private function getFileHash(string $path): string
946
950
private function getScannedFiles (array $ allAnalysedFiles ): array
947
951
{
948
952
$ scannedFiles = $ this ->scanFiles ;
949
- foreach ($ this ->scanFileFinder ->findFiles ($ this ->scanDirectories )->getFiles () as $ file ) {
950
- $ scannedFiles [] = $ file ;
953
+ $ analysedDirectories = [];
954
+ foreach (array_merge ($ this ->analysedPaths , $ this ->analysedPathsFromConfig ) as $ analysedPath ) {
955
+ if (is_file ($ analysedPath )) {
956
+ continue ;
957
+ }
958
+
959
+ if (!is_dir ($ analysedPath )) {
960
+ continue ;
961
+ }
962
+
963
+ $ analysedDirectories [] = $ analysedPath ;
951
964
}
952
965
953
- $ scannedFiles = array_unique ($ scannedFiles );
966
+ $ directories = array_unique (array_merge ($ analysedDirectories , $ this ->scanDirectories ));
967
+ foreach ($ this ->scanFileFinder ->findFiles ($ directories )->getFiles () as $ file ) {
968
+ $ scannedFiles [] = $ file ;
969
+ }
954
970
955
971
$ hashes = [];
956
972
foreach (array_diff ($ scannedFiles , $ allAnalysedFiles ) as $ file ) {
0 commit comments