Zeta: Skip opening files redundantly if a license was found (#24357)

Release Notes:

- N/A
This commit is contained in:
João Marcos 2025-02-06 03:07:05 -03:00 committed by GitHub
parent 1cdfbe2d5f
commit c61f12dd22
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -957,21 +957,31 @@ impl LicenseDetectionWatcher {
let task = if worktree.abs_path().is_file() {
Task::ready(())
} else {
let loaded_files_task = futures::future::join_all(
LICENSE_FILES_TO_CHECK
.iter()
.map(|file| worktree.load_file(Path::new(file), cx)),
);
let loaded_files = LICENSE_FILES_TO_CHECK
.iter()
.map(Path::new)
.map(|file| worktree.load_file(file, cx))
.collect::<ArrayVec<_, { LICENSE_FILES_TO_CHECK.len() }>>();
cx.background_executor().spawn(async move {
for loaded_file in loaded_files_task.await {
if let Some(content) = loaded_file.log_err() {
if is_license_eligible_for_data_collection(&content.text) {
*is_open_source_tx.borrow_mut() = true;
break;
}
for loaded_file in loaded_files.into_iter() {
let Ok(loaded_file) = loaded_file.await else {
continue;
};
let path = &loaded_file.file.path;
if is_license_eligible_for_data_collection(&loaded_file.text) {
log::info!("detected '{path:?}' as open source license");
*is_open_source_tx.borrow_mut() = true;
} else {
log::info!("didn't detect '{path:?}' as open source license");
}
// stop on the first license that successfully read
return;
}
log::debug!("didn't find a license file to check, assuming closed source");
})
};