Skip to content

Commit 64d5112

Browse files
committed
refactor(clippy) clean up clippy warnings
Signed-off-by: Rachel Powers <[email protected]>
1 parent 2b885c5 commit 64d5112

File tree

10 files changed

+81
-93
lines changed

10 files changed

+81
-93
lines changed

libmcmeta/src/models/forge.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ pub struct ForgeVersionClassifierIter<'a> {
5959
impl ForgeVersionClassifier {
6060
pub fn iter(&self) -> ForgeVersionClassifierIter<'_> {
6161
ForgeVersionClassifierIter {
62-
classifier: &self,
62+
classifier: self,
6363
index: 0,
6464
}
6565
}
@@ -90,7 +90,7 @@ impl<'a> IntoIterator for &'a ForgeVersionClassifier {
9090

9191
fn into_iter(self) -> Self::IntoIter {
9292
ForgeVersionClassifierIter {
93-
classifier: &self,
93+
classifier: self,
9494
index: 0,
9595
}
9696
}
@@ -160,7 +160,7 @@ pub struct ForgeVersionClassifiersIter<'a> {
160160
impl ForgeVersionClassifiers {
161161
pub fn iter(&self) -> ForgeVersionClassifiersIter<'_> {
162162
ForgeVersionClassifiersIter {
163-
classifiers: &self,
163+
classifiers: self,
164164
index: 0,
165165
}
166166
}
@@ -175,7 +175,7 @@ impl<'a> IntoIterator for &'a ForgeVersionClassifiers {
175175

176176
fn into_iter(self) -> Self::IntoIter {
177177
ForgeVersionClassifiersIter {
178-
classifiers: &self,
178+
classifiers: self,
179179
index: 0,
180180
}
181181
}
@@ -871,8 +871,8 @@ impl ForgeProcessedVersion {
871871
return false;
872872
}
873873

874-
let mut version_parts = self.raw_version.split(".");
875-
let num_version_parts = self.raw_version.split(".").count();
874+
let mut version_parts = self.raw_version.split('.');
875+
let num_version_parts = self.raw_version.split('.').count();
876876
if num_version_parts < 1 {
877877
return false;
878878
}

libmcmeta/src/models/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ pub struct MetaMcIndexEntry {
492492

493493
pub mod validation {
494494
pub fn is_some<T>(obj: Option<T>) -> Result<(), serde_valid::validation::Error> {
495-
if !obj.is_some() {
495+
if obj.is_none() {
496496
return Err(serde_valid::validation::Error::Custom(
497497
"Must be some".to_string(),
498498
));

libmcmeta/src/models/mojang.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ impl LegacyOverrideEntry {
375375

376376
// add traits, if any
377377
if let Some(mut additional_traits) = self.additional_traits {
378-
if !meta_version.additional_traits.is_some() {
378+
if meta_version.additional_traits.is_none() {
379379
meta_version.additional_traits = Some(vec![]);
380380
}
381381
meta_version
@@ -386,7 +386,7 @@ impl LegacyOverrideEntry {
386386
}
387387

388388
if let Some(mut additional_jvm_args) = self.additional_jvm_args {
389-
if !meta_version.additional_jvm_args.is_some() {
389+
if meta_version.additional_jvm_args.is_none() {
390390
meta_version.additional_jvm_args = Some(vec![]);
391391
}
392392
meta_version
@@ -622,11 +622,10 @@ impl MojangVersion {
622622
}
623623
}
624624

625-
let new_libs = if let Some(libraries) = &self.libraries {
626-
Some(libraries.iter().map(|lib| lib.into()).collect())
627-
} else {
628-
None
629-
};
625+
let new_libs = self
626+
.libraries
627+
.as_ref()
628+
.map(|libraries| libraries.iter().map(|lib| lib.into()).collect());
630629

631630
MetaVersion {
632631
format_version: META_FORMAT_VERSION,
@@ -637,11 +636,11 @@ impl MojangVersion {
637636
libraries: new_libs,
638637
main_class: self.main_class.clone(),
639638
minecraft_arguments: self.minecraft_arguments.clone(),
640-
release_time: self.release_time.clone(),
639+
release_time: self.release_time,
641640
version_type: new_type,
642-
compatible_java_majors: compatible_java_majors,
641+
compatible_java_majors,
643642
additional_traits: addn_traits,
644-
main_jar: main_jar,
643+
main_jar,
645644
order: None,
646645
volatile: None,
647646
requires: None,

mcmeta/src/download/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pub async fn download_binary_file(path: &PathBuf, url: &str) -> Result<()> {
1010

1111
if let Some(parent_dir) = path.parent() {
1212
if !parent_dir.exists() {
13-
std::fs::create_dir_all(&parent_dir)?;
13+
std::fs::create_dir_all(parent_dir)?;
1414
}
1515
}
1616

mcmeta/src/download/mojang.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,5 +110,5 @@ pub async fn load_zipped_version(version_url: &str) -> Result<MinecraftVersion>
110110
}
111111
}
112112

113-
Ok(manifest.ok_or(anyhow!("Unable to find version manifest"))?)
113+
manifest.ok_or(anyhow!("Unable to find version manifest"))
114114
}

mcmeta/src/routes/forge.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ pub async fn raw_forge_maven_meta(config: Extension<Arc<ServerConfig>>) -> impl
2020
let forge_meta_dir = metadata_dir.join("forge");
2121
let maven_meta_file = forge_meta_dir.join("maven-metadata.json");
2222
let manifest = serde_json::from_str::<ForgeMavenMetadata>(
23-
&std::fs::read_to_string(&maven_meta_file).unwrap(),
23+
&std::fs::read_to_string(maven_meta_file).unwrap(),
2424
)
2525
.unwrap();
2626

@@ -46,7 +46,7 @@ pub async fn raw_forge_promotions(config: Extension<Arc<ServerConfig>>) -> impl
4646
let forge_meta_dir = metadata_dir.join("forge");
4747
let promotions_file = forge_meta_dir.join("promotions_slim.json");
4848
let manifest = serde_json::from_str::<ForgeMavenPromotions>(
49-
&std::fs::read_to_string(&promotions_file).unwrap(),
49+
&std::fs::read_to_string(promotions_file).unwrap(),
5050
)
5151
.unwrap();
5252

mcmeta/src/routes/mojang.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ pub async fn raw_mojang_manifest(config: Extension<Arc<ServerConfig>>) -> impl I
1515
let mojang_meta_dir = metadata_dir.join("mojang");
1616
let local_manifest = mojang_meta_dir.join("version_manifest_v2.json");
1717
let manifest = serde_json::from_str::<MojangVersionManifest>(
18-
&std::fs::read_to_string(&local_manifest).unwrap(),
18+
&std::fs::read_to_string(local_manifest).unwrap(),
1919
)
2020
.unwrap();
2121

mcmeta/src/storage/forge.rs

Lines changed: 49 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use anyhow::{anyhow, Context, Result};
22
use futures::{stream, StreamExt};
33
use std::collections::{BTreeMap, HashSet};
4-
use std::path::PathBuf;
4+
use std::path::Path;
55
use tracing::{debug, error, info, warn};
66

77
use crate::{
@@ -107,19 +107,19 @@ async fn update_forge_metadata_json(
107107
debug!("Processing Forge Promotions");
108108

109109
for (promo_key, shortversion) in &promotions_metadata.promos {
110-
match promoted_key_expression.captures(&promo_key) {
110+
match promoted_key_expression.captures(promo_key) {
111111
None => {
112112
warn!("Skipping promotion {}, the key did not parse:", promo_key);
113113
}
114114
Some(captures) => {
115-
if let None = captures.name("mc") {
115+
if captures.name("mc").is_none() {
116116
debug!(
117117
"Skipping promotion {}, because it has no Minecraft version.",
118118
promo_key
119119
);
120120
continue;
121121
}
122-
if let Some(_) = captures.name("branch") {
122+
if captures.name("branch").is_some() {
123123
debug!(
124124
"Skipping promotion {}, because it on a branch only.",
125125
promo_key
@@ -143,8 +143,7 @@ async fn update_forge_metadata_json(
143143
let forge_version_pairs = maven_metadata
144144
.versions
145145
.iter()
146-
.map(|(k, v)| v.iter().map(|lv| (k.clone(), lv.clone())))
147-
.flatten()
146+
.flat_map(|(k, v)| v.iter().map(|lv| (k.clone(), lv.clone())))
148147
.collect::<Vec<_>>();
149148
let tasks = stream::iter(forge_version_pairs)
150149
.map(|(mc_version, long_version)| {
@@ -161,7 +160,7 @@ async fn update_forge_metadata_json(
161160
)),
162161

163162
Some(captures) => {
164-
if let None = captures.name("mc") {
163+
if captures.name("mc").is_none() {
165164
Err(anyhow!(
166165
"Forge long version {} not for a minecraft version?",
167166
long_version
@@ -214,10 +213,7 @@ async fn update_forge_metadata_json(
214213
new_index
215214
.by_mc_version
216215
.get_mut(&mc_version)
217-
.expect(&format!(
218-
"Missing forge info for minecraft version {}",
219-
&mc_version
220-
))
216+
.unwrap_or_else(|| panic!("Missing forge info for minecraft version {}", &mc_version))
221217
.versions
222218
.push(long_version.clone());
223219
// NOTE: we add this later after the fact. The forge promotions file lies about these.
@@ -228,21 +224,20 @@ async fn update_forge_metadata_json(
228224
new_index
229225
.by_mc_version
230226
.get_mut(&mc_version)
231-
.expect(&format!(
232-
"Missing forge info for minecraft version {}",
233-
&mc_version
234-
))
227+
.unwrap_or_else(|| {
228+
panic!("Missing forge info for minecraft version {}", &mc_version)
229+
})
235230
.recommended = Some(long_version.clone());
236231
}
237232
}
238233

239234
debug!("Post-processing forge promotions and adding missing 'latest'");
240235

241236
for (mc_version, info) in &mut new_index.by_mc_version {
242-
let latest_version = info.versions.last().expect(&format!(
243-
"No forge versions for minecraft version {}",
244-
mc_version
245-
));
237+
let latest_version = info
238+
.versions
239+
.last()
240+
.unwrap_or_else(|| panic!("No forge versions for minecraft version {}", mc_version));
246241
info.latest = Some(latest_version.to_string());
247242
info!("Added {} as latest for {}", latest_version, mc_version)
248243
}
@@ -353,9 +348,9 @@ async fn update_forge_legacy_metadata_json(
353348
.map(|version| {
354349
let fm_dir = forge_meta_dir.clone();
355350
let li_path = legacy_info_path.clone();
356-
tokio::spawn(
357-
async move { process_legecy_forge_version(&version, &fm_dir, &li_path).await },
358-
)
351+
tokio::spawn(async move {
352+
process_legecy_forge_version(&version, fm_dir.as_path(), li_path.as_path()).await
353+
})
359354
})
360355
.buffer_unordered(metadata_cfg.max_parallel_fetch_connections);
361356
let results = tasks
@@ -375,10 +370,8 @@ async fn update_forge_legacy_metadata_json(
375370

376371
let legacy_version_infos = process_results_ok(results);
377372

378-
for version_info in legacy_version_infos {
379-
if let Some((long_version, version_info)) = version_info {
380-
legacy_info_list.number.insert(long_version, version_info);
381-
}
373+
for (long_version, version_info) in legacy_version_infos.into_iter().flatten() {
374+
legacy_info_list.number.insert(long_version, version_info);
382375
}
383376

384377
// only write legacy info if it's missing
@@ -410,7 +403,7 @@ async fn update_forge_legacy_metadata_json(
410403
}
411404

412405
async fn process_forge_version(
413-
forge_meta_dir: &PathBuf,
406+
forge_meta_dir: &Path,
414407
recommended_set: &HashSet<String>,
415408
mc_version: &str,
416409
long_version: &str,
@@ -426,8 +419,8 @@ async fn process_forge_version(
426419
long_version: long_version.to_string(),
427420
mc_version: mc_version.to_string(),
428421
version: version.to_string(),
429-
build: build,
430-
branch: branch,
422+
build,
423+
branch,
431424
latest: None, // NOTE: we add this later after the fact. The forge promotions file lies about these.
432425
recommended: Some(is_recommended),
433426
files: Some(files),
@@ -437,7 +430,7 @@ async fn process_forge_version(
437430
}
438431

439432
async fn get_single_forge_files_manifest(
440-
forge_meta_dir: &PathBuf,
433+
forge_meta_dir: &Path,
441434
long_version: &str,
442435
) -> Result<BTreeMap<String, ForgeFile>> {
443436
info!("Getting Forge manifest for {long_version}");
@@ -530,8 +523,8 @@ async fn get_single_forge_files_manifest(
530523

531524
async fn process_legecy_forge_version(
532525
version: &ForgeProcessedVersion,
533-
forge_meta_dir: &PathBuf,
534-
legacy_info_path: &PathBuf,
526+
forge_meta_dir: &Path,
527+
legacy_info_path: &Path,
535528
) -> Result<Option<(String, ForgeLegacyInfo)>> {
536529
let jar_path = forge_meta_dir
537530
.join("jars")
@@ -662,29 +655,28 @@ async fn process_legecy_forge_version(
662655
&profile_path.to_string_lossy()
663656
)
664657
})?;
665-
} else {
666-
if version.is_supported() {
667-
return Err(forge_profile_json.unwrap_err()).with_context(|| {
668-
format!(
669-
"Failure reading json from 'install_profile.json' in {}",
670-
&jar_path.to_string_lossy()
671-
)
672-
});
673-
} else {
674-
debug!(
675-
"Forge Version {} is not supported and won't be generated later.",
676-
&version.long_version
658+
} else if version.is_supported() {
659+
return Err(forge_profile_json.unwrap_err()).with_context(|| {
660+
format!(
661+
"Failure reading json from 'install_profile.json' in {}",
662+
&jar_path.to_string_lossy()
677663
)
678-
}
664+
});
665+
} else {
666+
debug!(
667+
"Forge Version {} is not supported and won't be generated later.",
668+
&version.long_version
669+
)
679670
}
680671
}
681672
}
682673

683674
if !installer_info_path.is_file() {
684-
let mut installer_info = InstallerInfo::default();
685-
installer_info.sha1hash = Some(filehash(&jar_path, HashAlgo::Sha1)?);
686-
installer_info.sha256hash = Some(filehash(&jar_path, HashAlgo::Sha256)?);
687-
installer_info.size = Some(jar_path.metadata()?.len());
675+
let installer_info = InstallerInfo {
676+
sha1hash: Some(filehash(&jar_path, HashAlgo::Sha1)?),
677+
sha256hash: Some(filehash(&jar_path, HashAlgo::Sha256)?),
678+
size: Some(jar_path.metadata()?.len()),
679+
};
688680

689681
let installer_info_json = serde_json::to_string_pretty(&installer_info)?;
690682
std::fs::write(&installer_info_path, installer_info_json).with_context(|| {
@@ -694,7 +686,7 @@ async fn process_legecy_forge_version(
694686
)
695687
})?;
696688
}
697-
return Ok(None);
689+
Ok(None)
698690
} else {
699691
// ignore the two versions without install manifests and jar mod class files
700692
// TODO: fix those versions?
@@ -749,15 +741,16 @@ async fn process_legecy_forge_version(
749741
}
750742
}
751743

752-
let mut legacy_info = ForgeLegacyInfo::default();
753-
legacy_info.release_time = Some(time_stamp);
754-
legacy_info.sha1 = Some(filehash(&jar_path, HashAlgo::Sha1)?);
755-
legacy_info.sha256 = Some(filehash(&jar_path, HashAlgo::Sha256)?);
756-
legacy_info.size = Some(jar_path.metadata()?.len());
744+
let legacy_info = ForgeLegacyInfo {
745+
release_time: Some(time_stamp),
746+
sha1: Some(filehash(&jar_path, HashAlgo::Sha1)?),
747+
sha256: Some(filehash(&jar_path, HashAlgo::Sha256)?),
748+
size: Some(jar_path.metadata()?.len()),
749+
};
757750

758751
return Ok(Some((version.long_version.clone(), legacy_info)));
759752
// legacy_info_list.number.insert(key, legacy_info);
760753
}
761-
return Ok(None);
754+
Ok(None)
762755
}
763756
}

mcmeta/src/storage/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ impl StorageFormat {
2121
std::fs::create_dir_all(metadata_dir)?;
2222
}
2323

24-
mojang::initialize_mojang_metadata(&self, metadata_cfg).await?;
25-
forge::initialize_forge_metadata(&self, metadata_cfg).await?;
24+
mojang::initialize_mojang_metadata(self, metadata_cfg).await?;
25+
forge::initialize_forge_metadata(self, metadata_cfg).await?;
2626
}
2727
StorageFormat::Database => todo!(),
2828
}

0 commit comments

Comments
 (0)