readConfigFromFileSystem function
Implementation
RawConfig readConfigFromFileSystem({
required List<File> files,
required bool verbose,
}) {
RawConfig? config;
for (final file in files) {
final fileName = file.path.getFileName();
if (fileName == 'slang.yaml') {
final content = File(file.path).readAsStringSync();
config = RawConfigBuilder.fromYaml(content, true);
if (config != null) {
if (verbose) {
print('Found slang.yaml!');
}
break;
}
}
if (fileName == 'build.yaml') {
final content = File(file.path).readAsStringSync();
config = RawConfigBuilder.fromYaml(content);
if (config != null) {
if (verbose) {
print('Found build.yaml!');
}
break;
}
}
}
final useDefaultConfig = config == null;
if (config == null) {
config = RawConfigBuilder.fromMap({});
if (verbose) {
print('No build.yaml or slang.yaml, using default settings.');
}
}
// show build config
if (verbose && !useDefaultConfig) {
print('');
config.printConfig();
print('');
}
config.validate();
return config;
}