addDirectoryToTarEntry static method
void
addDirectoryToTarEntry(
- Directory directory,
- String basePath,
- StreamController<
TarEntry> controller, - StringBuffer? logBuffer, {
- bool recursive = true,
Adds all files from a directory to the tar archive controller.
This method recursively adds all files from the specified directory to the archive. It can be called externally for dynamic archive building.
Parameters:
directory: The directory to add to the archive.basePath: The base path for computing relative paths.controller: The tar entry stream controller.logBuffer: Optional buffer for logging.recursive: If true (default), recursively adds files from subdirectories.
Implementation
static void addDirectoryToTarEntry(
Directory directory,
String basePath,
StreamController<TarEntry> controller,
StringBuffer? logBuffer, {
bool recursive = true,
}) {
try {
final files =
directory.listSync(recursive: recursive, followLinks: false);
for (final file in files) {
if (file is File) {
addFileToTarEntry(file, basePath, controller, logBuffer);
}
}
} catch (e) {
logBuffer?.writeln('Error scanning directory ${directory.path}: $e');
}
}