Skip to content

Commit 50f26da

Browse files
authored
Merge pull request #72 from Umatriz/downloaders_refactor
Remove temporary files after installing Forge
2 parents a1f50f9 + 23d8a91 commit 50f26da

File tree

6 files changed

+16
-19
lines changed

6 files changed

+16
-19
lines changed

crates/client/src/views/add_profile_menu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ impl View for AddProfileMenu<'_> {
7070
&& match selected_loader {
7171
Loader::Fabric { version } => func(version.as_ref()),
7272
Loader::Vanilla => unreachable!(),
73+
Loader::Forge => unreachable!(),
7374
}
7475
}
7576

crates/nomi-core/src/instance/launch.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use crate::{
1818
markers::Undefined,
1919
repository::{
2020
java_runner::JavaRunner,
21-
manifest::{Arguments, Manifest, VersionType},
21+
manifest::{Manifest, VersionType},
2222
},
2323
};
2424

crates/nomi-core/src/loaders/forge.rs

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,15 @@
11
use std::{
2-
borrow::Cow,
32
collections::HashMap,
43
fmt::Debug,
54
fs::File,
65
io::{BufRead, Read},
7-
marker::PhantomData,
86
path::{Path, PathBuf},
9-
slice::Iter,
107
};
118

129
use anyhow::{anyhow, bail};
1310
use itertools::Itertools;
1411
use serde::{de::DeserializeOwned, Deserialize, Serialize};
15-
use tokio::{
16-
io::{AsyncWriteExt, BufReader},
17-
process::Command,
18-
};
12+
use tokio::{io::AsyncWriteExt, process::Command};
1913
use tracing::{error, info, warn};
2014
use zip::read::ZipFile;
2115

@@ -24,27 +18,25 @@ use crate::{
2418
downloads::{
2519
download_file,
2620
progress::ProgressSender,
27-
traits::{DownloadResult, DownloadStatus, Downloader},
21+
traits::{DownloadResult, Downloader},
2822
DownloadQueue, FileDownloader, LibrariesDownloader, LibrariesMapper,
2923
},
3024
game_paths::GamePaths,
3125
instance::{launch::CLASSPATH_SEPARATOR, profile::LoaderProfile},
3226
loaders::vanilla::VanillaLibrariesMapper,
33-
markers::Undefined,
3427
maven_data::{MavenArtifact, MavenData},
3528
repository::{
3629
java_runner::JavaRunner,
3730
manifest::{Argument, Arguments, Library},
3831
simple_args::SimpleArgs,
3932
simple_lib::SimpleLib,
4033
},
41-
utils::path_to_string,
4234
PinnedFutureWithBounds, DOT_NOMI_TEMP_DIR,
4335
};
4436

4537
const FORGE_REPO_URL: &str = "https://maven.minecraftforge.net";
4638

47-
const NEO_FORGE_REPO_URL: &str = "https://maven.neoforged.net/releases/";
39+
const _NEO_FORGE_REPO_URL: &str = "https://maven.neoforged.net/releases/";
4840

4941
/// Some versions require to have a suffix
5042
const FORGE_SUFFIXES: &[(&str, &[&str])] = &[
@@ -370,6 +362,14 @@ impl Downloader for Forge {
370362
.await?;
371363
}
372364

365+
// Remove temporary files
366+
if let Some(binpatch_dir) = forge_binpatch_path(&game_version, &forge_version).parent() {
367+
tokio::fs::remove_dir_all(binpatch_dir).await?;
368+
};
369+
370+
let forge_installer = forge_installer_path(&game_version, &forge_version);
371+
tokio::fs::remove_file(forge_installer).await?;
372+
373373
Ok(())
374374
}
375375

crates/nomi-core/src/maven_data.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::{fmt::Display, path::PathBuf};
33
use itertools::Itertools;
44
use regex::Regex;
55
use serde::{Deserialize, Serialize};
6-
use tracing::{error, warn};
6+
use tracing::error;
77

88
#[derive(Debug, Default)]
99
pub struct MavenData {
@@ -111,7 +111,7 @@ mod tests {
111111
fn maven_artifact_parse_test() {
112112
let artifact = MavenArtifact::new("de.oceanlabs.mcp:mcp_config:1.20.1-20230612.114412@zip");
113113

114-
println!("{:#?}", artifact);
114+
println!("{artifact:#?}");
115115
}
116116

117117
#[test]

crates/nomi-core/tests/forge_new_test.rs

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use std::path::PathBuf;
22

33
use nomi_core::{
44
configs::profile::{ProfileState, VersionProfile},
5-
downloads::traits::Downloader,
65
game_paths::GamePaths,
76
instance::{
87
launch::{arguments::UserData, LaunchSettings},

crates/nomi-core/tests/forge_old_test.rs

+1-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ use nomi_core::{
99
logs::PrintLogs,
1010
Instance,
1111
},
12-
loaders::{
13-
forge::{Forge, ForgeVersion},
14-
vanilla::Vanilla,
15-
},
12+
loaders::forge::{Forge, ForgeVersion},
1613
repository::java_runner::JavaRunner,
1714
MINECRAFT_DIR,
1815
};

0 commit comments

Comments
 (0)