createDirectoryStructure method

ValidationResult createDirectoryStructure(
  1. AssetConfig config
)

Creates the necessary directory structure for asset generation.

Ensures all required directories exist before generation begins, creating them recursively if needed.

Parameters:

  • config: Asset configuration containing directory paths

Returns a ValidationResult indicating success or failure.

Implementation

ValidationResult createDirectoryStructure(AssetConfig config) {
  final errors = <ValidationError>[];
  final suggestions = <String>[];

  try {
    // Create output directory
    final outputPath = config.getOutputPath();
    _createDirectorySafely(outputPath);

    // Create source output directory
    final sourceOutputPath = config.getSourceOutputPath();
    _createDirectorySafely(sourceOutputPath);

    return ValidationResult.success();
  } catch (e) {
    errors.add(ValidationError(
      message: 'Failed to create directory structure: $e',
      type: ValidationErrorType.fileSystem,
    ));
    suggestions.add('Check write permissions for the output directory');
    suggestions.add('Ensure sufficient disk space is available');

    return ValidationResult.failure(
      errors: errors,
      suggestions: suggestions,
    );
  }
}