public function buildAll()

in src/build/FindRedundantFilesBuildStep.php [23:64]


  public function buildAll(): void {
    Log::i("\nFindRedundantFilesBuildStep\n");

    $ignored_globs = keyset['.', '..'];
    foreach (\file(LocalConfig::ROOT.'/.gitignore') as $line) {
      if (Str\contains($line, '*')) {
        $ignored_globs[] = Str\trim($line);
      }
    }

    $valid_files =
      MarkdownExt\ExtractedCodeBlocks\FilterBase::getAllValidFiles();

    $found_invalid = false;

    foreach (
      new \RecursiveIteratorIterator(
        new \RecursiveDirectoryIterator(BuildPaths::EXAMPLES_EXTRACT_DIR),
      ) as $file_info
    ) {
      if (
        C\any(
          $ignored_globs,
          $glob ==> \fnmatch($glob, $file_info->getFilename()),
        )
      ) {
        continue;
      }

      if (!C\contains_key($valid_files, $file_info->getPathname())) {
        $found_invalid = true;
        Log::e(
          "Redundant file found: %s\n",
          Str\strip_prefix($file_info->getPathname(), LocalConfig::ROOT.'/'),
        );
      }
    }

    if ($found_invalid) {
      exit(1);
    }
  }