1 | <?php |
||
7 | final class LocateComposerPackageSourceFiles |
||
8 | { |
||
9 | 6 | public function __invoke(string $composerJsonPath) : Generator |
|
27 | |||
28 | 6 | private function getFilePaths(array $sourceDirs, string $packageDir) : array |
|
29 | { |
||
30 | 6 | $flattened = array_reduce( |
|
31 | $sourceDirs, |
||
32 | function (array $sourceDirs, $sourceDir) { |
||
33 | 6 | return array_merge($sourceDirs, (array)$sourceDir); |
|
34 | 6 | }, |
|
35 | 6 | [] |
|
36 | ); |
||
37 | 6 | return array_values(array_map( |
|
38 | 6 | function (string $sourceDir) use ($packageDir) { |
|
39 | 6 | return $packageDir . '/' . ltrim($sourceDir, '/'); |
|
40 | 6 | }, |
|
41 | 6 | $flattened |
|
42 | )); |
||
43 | } |
||
44 | |||
45 | 6 | private function locateFilesInPsr0Definitions(array $locations) : Generator |
|
49 | |||
50 | 6 | private function locateFilesInPsr4Definitions(array $locations) : Generator |
|
54 | |||
55 | 6 | private function locateFilesInClassmapDefinitions(array $locations) : Generator |
|
59 | |||
60 | 6 | private function locateFilesInFilesInFilesDefinitions(array $locations) : Generator |
|
70 | |||
71 | 4 | private function extractFilesFromDirectory(string $directory) : Generator |
|
75 | } |
||
76 |