Refactor Library

The launcher code was in a position ripe for sphagetti, so this rewrites it in a more robust way.
In addition to cleaner code, this provides the following changes:
- Removal of obsolete Mojang authentication
- The rebasing of some internal state into a Sled database
- Tweaks which make some internal mechanisms more robust (e.g. profiles which fail to load can be removed)
- Additional tooling integration such as direnv
- Distinct public API to avoid messing with too much internal code
- Unified error handling in the form of `theseus::Error` and `theseus::Result`
This commit is contained in:
Danielle
2022-06-27 15:53:25 -07:00
committed by GitHub
parent 179dcdcd04
commit 10610e157f
37 changed files with 2730 additions and 4117 deletions

View File

@@ -10,7 +10,10 @@ edition = "2018"
thiserror = "1.0"
async-trait = "0.1.51"
daedalus = "0.1.12"
daedalus = { version = "0.1.16", features = ["bincode"] }
bincode = { version = "2.0.0-rc.1", features = ["serde"] }
sled = { version = "0.34.7", features = ["compression"] }
reqwest = { version = "0.11", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
@@ -36,13 +39,9 @@ sys-info = "0.9.0"
log = "0.4.14"
const_format = "0.2.22"
once_cell = "1.9.0"
lazy_static = "1.4"
[dev-dependencies]
argh = "0.1.6"
pretty_assertions = "1.1.0"
[[example]]
name = "download-pack"
[features]