'../autoload_packages.php', ); $ignoreList = array( 'AutoloadGenerator.php', 'AutoloadProcessor.php', 'CustomAutoloaderPlugin.php', 'ManifestGenerator.php', 'AutoloadFileWriter.php', ); // Copy all of the autoloader files. $files = scandir( __DIR__ ); foreach ( $files as $file ) { // Only PHP files will be copied. if ( substr( $file, -4 ) !== '.php' ) { continue; } if ( in_array( $file, $ignoreList, true ) ) { continue; } $newFile = isset( $renameList[ $file ] ) ? $renameList[ $file ] : $file; $content = self::prepareAutoloaderFile( $file, $suffix ); $written = file_put_contents( $outDir . '/' . $newFile, $content ); if ( $io ) { if ( $written ) { $io->writeError( " Generated: $newFile" ); } else { $io->writeError( " Error: $newFile" ); } } } } /** * Prepares an autoloader file to be written to the destination. * * @param String $filename a file to prepare. * @param String $suffix Unique suffix used in the namespace. * * @return string */ private static function prepareAutoloaderFile( $filename, $suffix ) { $header = self::COMMENT; $header .= PHP_EOL; $header .= 'namespace Automattic\Jetpack\Autoloader\jp' . $suffix . ';'; $header .= PHP_EOL . PHP_EOL; $sourceLoader = fopen( __DIR__ . '/' . $filename, 'r' ); $file_contents = stream_get_contents( $sourceLoader ); return str_replace( '/* HEADER */', $header, $file_contents ); } }