generateColorResources function
void
generateColorResources({})
Implementation
void generateColorResources({
required String input,
required String output,
String? package,
String? flavor,
}) {
Logger.verboseLog('Generating color resources...');
final directory = Directory(input);
if (!directory.existsSync()) {
Logger.verboseLog('colors/ folder is not exist. Skipping...');
return;
}
final buffer = StringBuffer("""
// ignore_for_file: non_constant_identifier_names, constant_identifier_names
part of '${flavor == null ? '' : '../'}resources.dart';
const _${flavor == null ? '' : '${flavor}_'}color_resources = (
""");
try {
final files = directory
.listSync()
.where((fs) {
return fs is File &&
extension(fs.unixPath) == '.json' &&
!fs.isHidden &&
basenameWithoutExtension(fs.unixPath).startsWith('colors');
})
.cast<File>()
.toList()
..sort(sortFilesByName);
if (files.length == 1) {
_writeColorsSingle(files.first, buffer);
} else if (files.length > 1) {
_writeColorsMultiple(files, buffer);
}
} catch (_) {}
buffer.writeln(');');
Directory(join(output, flavor)).createSync(recursive: true);
File(joinAll([output, flavor, 'color_resources.dart'].whereType<String>()))
..createSync()
..writeAsStringSync(buffer.toString());
Logger.verboseLog('Generated color resources!');
}