-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mod installation #64
Mod installation #64
Conversation
9cf1152
to
275778a
Compare
Codecov Report
@@ Coverage Diff @@
## master #64 +/- ##
======================================
Coverage 0.00% 0
======================================
Files 20 0 -20
Lines 1200 0 -1200
======================================
+ Misses 1200 0 -1200 Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
68f07f2
to
9e99f10
Compare
d5b009f
to
3ed01dd
Compare
df66bf8
to
9594804
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not very confident that this is a good PR given how little I remember about the CLI tool and C#, and the fact that I've no Rust experience at all. But hopefully it's better than nothing. Obviously feel free to disagree with my ideas.
Out of curiocity, what was the reasoning for including Rust in the project?
tcli-bepinex-installer/src/main.rs
Outdated
let manifest: ManifestV1 = | ||
serde_json::from_reader(manifest_file).map_err(|_| Error::InvalidManifest)?; | ||
|
||
if manifest.name.starts_with("BepInExPack") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC for some games BepInEx package doesn't contain "Pack" in the title. Not sure if there's a difference between "BepInEx" and "BepInExPack" in this context.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The installer is written in Rust for a few reasons, mostly since I wanted a small size footprint for the individual installers and static linking into a single file. Other languages could do the same, but Rust is the one I'm most familiar with and I think it makes more sense than to add another language to our roster, when Rust is already used in a few places. (I highly recommend learning it by the way, its may well become my favorite over C# as I use it more)
9cb6b6f
to
7c7a5fa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (besides the conflict).
also a ton of other busywork related to that
r2mm makes it so SomeDir/patchers/somefile.txt still maps to patchers/Namespace-Name/somefile.txt
362be1f
to
528ec08
Compare
Depends on #63, that should be merged first and then this PR rebased onto master. Until that happens, check /~https://github.com/thunderstore-io/thunderstore-cli/compare/refactor..mod-installation for the actual diff.