targetFamily == TargetFamily::AVR_8) { return new Avr8TargetDescriptionFile($filePath); } return $tdf; } /** * Recursively finds all XML files within a given directory. * * @param string $dirPath * @return \SplFileInfo[] */ public static function findXmlFiles(string $dirPath): array { $output = []; $directory = new \DirectoryIterator($dirPath); foreach ($directory as $entry) { if ($entry->isFile() && $entry->getExtension() == 'xml') { $output[] = clone $entry; } else if ($entry->isDir() && !$entry->isDot()) { $output = array_merge($output, self::findXmlFiles($entry->getPathname())); } } return $output; } }