scaffold method

Future<void> scaffold(
  1. String projectName,
  2. Map<String, dynamic> options
)

Implementation

Future<void> scaffold(
  String projectName,
  Map<String, dynamic> options,
) async {
  final projectPath = _resolveProjectPath(projectName);
  await _createProject(
    projectName,
    projectPath,
    options['platforms'] as List<String>,
  );
  _log.info('Applying custom template...');
  await _applyTemplate(projectName, projectPath, options);
  _log.info('Configuring project files...');
  await _projectFileWriter.configureProjectFiles(projectPath, options);
  _log.info('Adding dependencies...');
  final pinVersions = options['pin_versions'] as bool? ?? false;
  await _addDependencies(
    projectPath,
    DependencyResolver.resolve(options),
    pinVersions: pinVersions,
  );
  await _addDevDependencies(projectPath, options);
  if (options['localization'] == true) {
    await _setupLocalization(projectPath);
  }
  _log.info('Formatting code...');
  await _runProcess(
    'dart',
    ['format', '.'],
    workingDirectory: projectPath,
    timeout: ProcessTimeouts.format,
  );
  _log.info('Running analyzer...');
  await _runProcess(
    'flutter',
    ['analyze'],
    workingDirectory: projectPath,
    timeout: ProcessTimeouts.analyze,
  );
}