Compare commits

...

2 commits

3 changed files with 22 additions and 3 deletions

20
TODO.md
View file

@ -2,7 +2,23 @@
This is a rather unorganised list of TODOs just so I can somewhat keep track of my plans without forgetting things. This is a rather unorganised list of TODOs just so I can somewhat keep track of my plans without forgetting things.
## Plans for version 0.2.0 ## Plans for version 0.3.0
### Important
- [ ] Concurrent mod downloads to speed up profile installation/updates.
### Nice to haves
- [ ] Concurrent mod metadata downloads to speed up running the `update` command.
- [ ] Allow for overriding file types for file merge apply policies rather than relying on the file extension
- [ ] Support resource and shaderpack installs rather than just mods.
- [ ] Get mmm working properly on `wayland` with Nix.
- [ ] Get cross-compilation to Windows working with the mingw toolchain.
- [ ] Preserve formatting as much as possible when merging files
## Done in version 0.2.0
### Important ### Important
@ -17,7 +33,7 @@ This is a rather unorganised list of TODOs just so I can somewhat keep track of
merge (retaining original/modified values) merge should result in an install dir with A and B, where a.json and b.json are in A, and a.json is the result of merging a.json into the installed a.json (retaining the existing values from the file in the install dir), and the original files in folder B untouched (x.json and y.json) merge (retaining original/modified values) merge should result in an install dir with A and B, where a.json and b.json are in A, and a.json is the result of merging a.json into the installed a.json (retaining the existing values from the file in the install dir), and the original files in folder B untouched (x.json and y.json)
- [X] Test the merge apply policies when I am not half asleep. (nevermind, I tested while half asleep and seems good to me) - [X] Test the merge apply policies when I am not half asleep. (nevermind, I tested while half asleep and seems good to me)
- [ ] Show package version somewhere in `mmm` - [X] Show package version somewhere in `mmm`
- [X] Save userdata after removing profiles with the remove command - [X] Save userdata after removing profiles with the remove command
### Nice to haves ### Nice to haves

View file

@ -249,7 +249,9 @@ impl ModpackMeta {
} }
} }
} }
self.copy_files(&source_path, &target_path, file_meta.apply_policy.clone())?; self.copy_files(&source_path, &target_path, file_meta.apply_policy.clone()).with_context(
|| format!("Syncing {} -> {}", source_path.display(), target_path.display())
)?;
} }
} }
Ok(()) Ok(())

View file

@ -38,6 +38,7 @@ impl PinnedPackMeta {
mods_dir: &PathBuf, mods_dir: &PathBuf,
download_side: DownloadSide, download_side: DownloadSide,
) -> Result<()> { ) -> Result<()> {
let _ = std::fs::create_dir_all(mods_dir);
let files = std::fs::read_dir(mods_dir)?; let files = std::fs::read_dir(mods_dir)?;
let mut pinned_files_cache = BTreeSet::new(); let mut pinned_files_cache = BTreeSet::new();
for file in files.into_iter() { for file in files.into_iter() {