run method
Executes the config command.
This method:
- Parses command line arguments
- Validates and loads the morpheme.yaml configuration
- Extracts flavor-specific dart defines
- Generates VS Code configurations
- Generates Android Studio configurations
Throws an exception if the morpheme.yaml file is invalid or missing.
Implementation
@override
void run() {
final argTarget = argResults.getOptionTarget();
final argMorphemeYaml = argResults.getOptionMorphemeYaml();
YamlHelper.validateMorphemeYaml(argMorphemeYaml);
final yaml = YamlHelper.loadFileYaml(argMorphemeYaml);
projectName = yaml.projectName;
Map<String, List<String>> dartDefines = {};
yaml['flavor'].forEach((key, value) {
final list = <String>[];
value.forEach((key, value) {
list.add('"${Constants.dartDefine}"');
list.add('"$key=$value"');
});
dartDefines[key] = list;
});
// Generate VS Code configurations
_generateVSCodeConfigurations(argTarget, dartDefines);
// Generate Android Studio configurations
_generateAndroidStudioConfigurations(argTarget, dartDefines, projectName);
StatusHelper.success('morpheme config');
}