Make Maven file resolution case-insensitive (#4917)

* Make Maven file resolution case-insensitive

* fix string reference

* fixed formatting

---------

Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
Co-authored-by: aecsocket <aecsocket@tutanota.com>
This commit is contained in:
Zefir
2026-01-21 03:15:33 +02:00
committed by GitHub
parent b36801c5ed
commit 08fcc61d35

View File

@@ -241,8 +241,10 @@ fn find_file<'a>(
version: &'a VersionQueryResult, version: &'a VersionQueryResult,
file: &str, file: &str,
) -> Option<&'a FileQueryResult> { ) -> Option<&'a FileQueryResult> {
if let Some(selected_file) = if let Some(selected_file) = version
version.files.iter().find(|x| x.filename == file) .files
.iter()
.find(|x| x.filename.eq_ignore_ascii_case(file))
{ {
return Some(selected_file); return Some(selected_file);
} }
@@ -259,7 +261,10 @@ fn find_file<'a>(
} }
for fileext in fileexts { for fileext in fileexts {
if file == format!("{}-{}.{}", &project_id, &vcoords, fileext) { if file.eq_ignore_ascii_case(&format!(
"{}-{}.{}",
&project_id, &vcoords, fileext
)) {
return version return version
.files .files
.iter() .iter()
@@ -313,7 +318,7 @@ pub async fn version_file(
return Err(ApiError::NotFound); return Err(ApiError::NotFound);
} }
if file == format!("{}-{}.pom", &project_id, &vnum) { if file.eq_ignore_ascii_case(&format!("{}-{}.pom", &project_id, &vnum)) {
let respdata = MavenPom { let respdata = MavenPom {
schema_location: schema_location:
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"