resolveConfigFile function

File? resolveConfigFile([
  1. String? configPath,
  2. Directory? workingDirectory
])

Resolves the nearest native_prebuilt.yaml starting at workingDirectory and walking up parent directories.

Returns null if no manifest can be found.

Implementation

File? resolveConfigFile([String? configPath, Directory? workingDirectory]) {
  if (configPath != null) {
    return File(configPath).absolute;
  }

  var dir = (workingDirectory ?? Directory.current).absolute;
  while (true) {
    final candidate = File(p.join(dir.path, 'native_prebuilt.yaml'));
    if (candidate.existsSync()) {
      return candidate;
    }

    final parent = dir.parent;
    if (parent.path == dir.path) return null;
    dir = parent;
  }
}