You've already forked AstralRinth
forked from didirus/AstralRinth
Auto doing fixes (#8)
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "daedalus"
|
name = "daedalus"
|
||||||
version = "0.1.21"
|
version = "0.1.22"
|
||||||
authors = ["Jai A <jaiagr+gpg@pm.me>"]
|
authors = ["Jai A <jaiagr+gpg@pm.me>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@@ -332,7 +332,9 @@ pub fn merge_partial_library(
|
|||||||
merge_downloads.artifact = Some(artifact);
|
merge_downloads.artifact = Some(artifact);
|
||||||
}
|
}
|
||||||
if let Some(classifiers) = downloads.classifiers {
|
if let Some(classifiers) = downloads.classifiers {
|
||||||
if let Some(merge_classifiers) = &mut merge_downloads.classifiers {
|
if let Some(merge_classifiers) =
|
||||||
|
&mut merge_downloads.classifiers
|
||||||
|
{
|
||||||
for classifier in classifiers {
|
for classifier in classifiers {
|
||||||
merge_classifiers.insert(classifier.0, classifier.1);
|
merge_classifiers.insert(classifier.0, classifier.1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "daedalus_client"
|
name = "daedalus_client"
|
||||||
version = "0.1.21"
|
version = "0.1.22"
|
||||||
authors = ["Jai A <jaiagr+gpg@pm.me>"]
|
authors = ["Jai A <jaiagr+gpg@pm.me>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
@@ -22,4 +22,4 @@ zip = "0.6.3"
|
|||||||
semver = "1.0"
|
semver = "1.0"
|
||||||
chrono = { version = "0.4", features = ["serde"] }
|
chrono = { version = "0.4", features = ["serde"] }
|
||||||
bytes = "1.3.0"
|
bytes = "1.3.0"
|
||||||
rust-s3 = "0.32.3"
|
rust-s3 = "0.33.0"
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
use crate::download_file;
|
use crate::download_file;
|
||||||
use crate::{format_url, upload_file_to_bucket, Error};
|
use crate::{format_url, upload_file_to_bucket, Error};
|
||||||
use daedalus::get_hash;
|
use daedalus::get_hash;
|
||||||
use daedalus::minecraft::{merge_partial_library, Library, PartialLibrary, VersionManifest, VersionInfo};
|
use daedalus::minecraft::{
|
||||||
|
merge_partial_library, Library, PartialLibrary,
|
||||||
|
VersionManifest,
|
||||||
|
};
|
||||||
use log::info;
|
use log::info;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
@@ -25,7 +28,7 @@ pub async fn retrieve_data(
|
|||||||
daedalus::minecraft::fetch_version_manifest(None).await?;
|
daedalus::minecraft::fetch_version_manifest(None).await?;
|
||||||
let cloned_manifest = Arc::new(Mutex::new(manifest.clone()));
|
let cloned_manifest = Arc::new(Mutex::new(manifest.clone()));
|
||||||
|
|
||||||
let patches = fetch_library_patches(None, semaphore.clone()).await?;
|
let patches = fetch_library_patches()?;
|
||||||
let cloned_patches = Arc::new(&patches);
|
let cloned_patches = Arc::new(&patches);
|
||||||
|
|
||||||
let visited_assets_mutex = Arc::new(Mutex::new(Vec::new()));
|
let visited_assets_mutex = Arc::new(Mutex::new(Vec::new()));
|
||||||
@@ -43,10 +46,8 @@ pub async fn retrieve_data(
|
|||||||
None
|
None
|
||||||
};
|
};
|
||||||
|
|
||||||
if let Some(old_version) = old_version {
|
if old_version.is_some() {
|
||||||
if old_version.sha1 == version.sha1 {
|
return Ok(());
|
||||||
return Ok(());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let visited_assets_mutex = Arc::clone(&visited_assets_mutex);
|
let visited_assets_mutex = Arc::clone(&visited_assets_mutex);
|
||||||
@@ -64,7 +65,10 @@ pub async fn retrieve_data(
|
|||||||
let mut version_info =
|
let mut version_info =
|
||||||
daedalus::minecraft::fetch_version_info(version).await?;
|
daedalus::minecraft::fetch_version_info(version).await?;
|
||||||
|
|
||||||
fn patch_library(patches: &Vec<LibraryPatch>, mut library: Library, version_info: &VersionInfo) -> Vec<Library> {
|
fn patch_library(
|
||||||
|
patches: &Vec<LibraryPatch>,
|
||||||
|
mut library: Library,
|
||||||
|
) -> Vec<Library> {
|
||||||
let mut val = Vec::new();
|
let mut val = Vec::new();
|
||||||
|
|
||||||
let actual_patches = patches
|
let actual_patches = patches
|
||||||
@@ -72,11 +76,8 @@ pub async fn retrieve_data(
|
|||||||
.filter(|x| x.match_.contains(&library.name))
|
.filter(|x| x.match_.contains(&library.name))
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
if !actual_patches.is_empty()
|
if !actual_patches.is_empty() {
|
||||||
{
|
|
||||||
for patch in actual_patches {
|
for patch in actual_patches {
|
||||||
println!("{} {}", version_info.id, patch._comment);
|
|
||||||
|
|
||||||
if let Some(override_) = &patch.override_ {
|
if let Some(override_) = &patch.override_ {
|
||||||
library = merge_partial_library(
|
library = merge_partial_library(
|
||||||
override_.clone(),
|
override_.clone(),
|
||||||
@@ -88,8 +89,14 @@ pub async fn retrieve_data(
|
|||||||
&patch.additional_libraries
|
&patch.additional_libraries
|
||||||
{
|
{
|
||||||
for additional_library in additional_libraries {
|
for additional_library in additional_libraries {
|
||||||
if patch.patch_additional_libraries.unwrap_or(false) {
|
if patch
|
||||||
let mut libs = patch_library(patches, additional_library.clone(), &version_info);
|
.patch_additional_libraries
|
||||||
|
.unwrap_or(false)
|
||||||
|
{
|
||||||
|
let mut libs = patch_library(
|
||||||
|
patches,
|
||||||
|
additional_library.clone(),
|
||||||
|
);
|
||||||
val.append(&mut libs)
|
val.append(&mut libs)
|
||||||
} else {
|
} else {
|
||||||
val.push(additional_library.clone());
|
val.push(additional_library.clone());
|
||||||
@@ -108,7 +115,8 @@ pub async fn retrieve_data(
|
|||||||
|
|
||||||
let mut new_libraries = Vec::new();
|
let mut new_libraries = Vec::new();
|
||||||
for library in version_info.libraries.clone() {
|
for library in version_info.libraries.clone() {
|
||||||
let mut libs = patch_library(&patches, library, &version_info);
|
let mut libs =
|
||||||
|
patch_library(&patches, library);
|
||||||
new_libraries.append(&mut libs)
|
new_libraries.append(&mut libs)
|
||||||
}
|
}
|
||||||
version_info.libraries = new_libraries;
|
version_info.libraries = new_libraries;
|
||||||
@@ -264,10 +272,7 @@ struct LibraryPatch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Fetches the list of fabric versions
|
/// Fetches the list of fabric versions
|
||||||
async fn fetch_library_patches(
|
fn fetch_library_patches() -> Result<Vec<LibraryPatch>, Error> {
|
||||||
url: Option<&str>,
|
|
||||||
semaphore: Arc<Semaphore>,
|
|
||||||
) -> Result<Vec<LibraryPatch>, Error> {
|
|
||||||
let patches = include_bytes!("../library-patches.json");
|
let patches = include_bytes!("../library-patches.json");
|
||||||
Ok(serde_json::from_slice(patches)?)
|
Ok(serde_json::from_slice(patches)?)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user