runInteractiveMode method

Future<void> runInteractiveMode()

Implementation

Future<void> runInteractiveMode() async {
  _printWelcomeMessage();

  final projectName = _getProjectName();
  final organization = _getOrganization(projectName);
  final platforms = _getPlatforms();
  final includeLinterRules = _getLinterRulesChoice();

  final config = ProjectConfig(
    projectName: projectName,
    organizationName: organization,
    platforms: platforms,
    stateManagement: StateManagementType.bloc,
    architecture: ArchitectureType.cleanArchitecture,
    includeGoRouter: true,
    includeLinterRules: includeLinterRules,
    includeFreezed: true,
    mobilePlatform: _selectedMobilePlatform,
    desktopPlatform: _selectedDesktopPlatforms != null ? DesktopPlatform.custom : DesktopPlatform.all,
    customDesktopPlatforms: _selectedDesktopPlatforms,
  );

  _printConfigurationSummary(config);

  if (_confirmConfiguration()) {
    await _createProject(config);
  } else {
    _printCancelledMessage();
  }
}