buildWeb method
Flutter build web
Implementation
Future<bool> buildWeb() async {
_logger.printStep('🔧 Building web...');
try {
// Build command args
final args = ['build', 'web', '--release'];
// Add custom build arguments if provided
if (config.customBuildArgs != null &&
config.customBuildArgs!.isNotEmpty) {
final customArgs = config.customBuildArgs!
.split(' ')
.where((arg) => arg.isNotEmpty)
.toList();
args.addAll(customArgs);
if (config.verbose) {
_logger.printInfo('Custom build args: ${customArgs.join(' ')}');
}
}
final result = await _runFlutterCommand(args);
if (result.exitCode != 0) {
_logger.printError('Flutter web build failed-----');
_logger.printError('Error: ${result.stderr}');
// if (config.verbose) {
// _logger.printError('Error: ${result.stderr}');
// }
return false;
}
// Verify build output exists
final defaultBuildPath = path.join(config.buildDir, 'web');
if (!Directory(defaultBuildPath).existsSync()) {
_logger.printError('Build failed - $defaultBuildPath not found');
return false;
}
_logger.printSuccess('Build completed');
return true;
} catch (e) {
_logger.printError('Flutter build failed: $e');
return false;
}
}