run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
void run() {
final configFileName = argResults?['config'] as String? ?? 'config.yaml';
final force = argResults?['force'] ?? false;
final configFile = File(configFileName);
// Check if config file already exists
if (configFile.existsSync() && !force) {
print('⚠️ Config file "$configFileName" already exists!');
print('');
print(' To overwrite it, use: frx init --force');
print(' Or specify a different name: frx init --config my-config.yaml');
exit(1);
}
// Generate the starter config content
final configContent = _generateStarterConfig();
try {
// Write the config file
configFile.writeAsStringSync(configContent);
print('✅ Successfully created "$configFileName"!');
print('');
print('📝 Next steps:');
print(' 1. Open "$configFileName" and configure your settings');
print(' 2. Add your API keys and tokens for cloud uploads');
print(' 3. Run "frx build" to start building and releasing!');
print('');
print(
'📖 For detailed setup instructions, visit: ${FlutterReleaseXKstrings.documentaion} or ${FlutterReleaseXKstrings.documentaion2}');
} catch (e) {
print('❌ Failed to create config file: $e');
exit(1);
}
}