diff --git a/rust/runfiles/runfiles.rs b/rust/runfiles/runfiles.rs index fe8c628245..e0568ae7d3 100644 --- a/rust/runfiles/runfiles.rs +++ b/rust/runfiles/runfiles.rs @@ -158,7 +158,12 @@ impl Runfiles { let mode = if let Some(manifest_file) = std::env::var_os(MANIFEST_FILE_ENV_VAR) { Self::create_manifest_based(Path::new(&manifest_file))? } else { - Mode::DirectoryBased(find_runfiles_dir()?) + let dir = find_runfiles_dir()?; + let manifest_path = dir.join("MANIFEST"); + match manifest_path.exists() { + true => Self::create_manifest_based(&manifest_path)?, + false => Mode::DirectoryBased(dir), + } }; let repo_mapping = raw_rlocation(&mode, "_repo_mapping")