build method
Implementation
Future<void> build() async {
Config config;
try {
config = await loadPubspecConfig(pubspecFile);
} on InvalidSettingsException catch (e) {
stderr.writeln(e.message);
return;
} on FileSystemException catch (e) {
stderr.writeln(e.message);
return;
}
final output = config.flutterGen.output;
final lineLength = config.flutterGen.lineLength;
final formatter = DartFormatter(pageWidth: lineLength, lineEnding: '\n');
final absoluteOutput =
Directory(normalize(join(pubspecFile.parent.path, output)));
if (!absoluteOutput.existsSync()) {
absoluteOutput.createSync(recursive: true);
}
if (config.flutterGen.colors.enabled &&
config.flutterGen.colors.inputs.isNotEmpty) {
final generated =
generateColors(pubspecFile, formatter, config.flutterGen.colors);
final colors =
File(normalize(join(pubspecFile.parent.path, output, colorsName)));
writeAsString(generated, file: colors);
print('Generated: ${colors.absolute.path}');
}
if (config.flutterGen.assets.enabled && config.flutter.assets.isNotEmpty) {
final generated = generateAssets(
AssetsGenConfig.fromConfig(pubspecFile, config),
formatter,
);
final assets =
File(normalize(join(pubspecFile.parent.path, output, assetsName)));
writeAsString(generated, file: assets);
print('Generated: ${assets.absolute.path}');
}
if (config.flutterGen.fonts.enabled && config.flutter.fonts.isNotEmpty) {
final generated = generateFonts(formatter, config.flutter.fonts);
final fonts =
File(normalize(join(pubspecFile.parent.path, output, fontsName)));
writeAsString(generated, file: fonts);
print('Generated: ${fonts.absolute.path}');
}
print('FlutterGen finished.');
}