forked from didirus/AstralRinth
Fix quilt + fabric intermediary syncing issues (#13)
* Fix quilt + fabric intermediary syncing issues * fix comp * Fix random versions not working/updating meta
This commit is contained in:
@@ -31,8 +31,25 @@ pub async fn retrieve_data(
|
||||
{
|
||||
let mut loaders = loaders_mutex.write().await;
|
||||
|
||||
for loader in &list.loader {
|
||||
loaders.push((Box::new(false), loader.version.clone()))
|
||||
for (index, loader) in list.loader.iter().enumerate() {
|
||||
if versions.iter().any(|x| {
|
||||
x.id == DUMMY_REPLACE_STRING
|
||||
&& x.loaders.iter().any(|x| x.id == loader.version)
|
||||
}) {
|
||||
if index == 0 {
|
||||
loaders.push((
|
||||
Box::new(false),
|
||||
loader.version.clone(),
|
||||
Box::new(true),
|
||||
))
|
||||
}
|
||||
} else {
|
||||
loaders.push((
|
||||
Box::new(false),
|
||||
loader.version.clone(),
|
||||
Box::new(false),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
list.loader
|
||||
@@ -46,16 +63,7 @@ pub async fn retrieve_data(
|
||||
|
||||
let loader_versions = futures::future::try_join_all(
|
||||
loaders_mutex.read().await.clone().into_iter().map(
|
||||
|(stable, loader)| async {
|
||||
{
|
||||
if versions.iter().any(|x| {
|
||||
x.id == DUMMY_REPLACE_STRING
|
||||
&& x.loaders.iter().any(|x| x.id == loader)
|
||||
}) {
|
||||
return Ok(None);
|
||||
}
|
||||
}
|
||||
|
||||
|(stable, loader, skip_upload)| async {
|
||||
let version = fetch_quilt_version(
|
||||
DUMMY_GAME_VERSION,
|
||||
&loader,
|
||||
@@ -63,8 +71,8 @@ pub async fn retrieve_data(
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok::<Option<(Box<bool>, String, PartialVersionInfo)>, Error>(
|
||||
Some((stable, loader, version)),
|
||||
Ok::<(Box<bool>, String, PartialVersionInfo, Box<bool>), Error>(
|
||||
(stable, loader, version, skip_upload),
|
||||
)
|
||||
},
|
||||
),
|
||||
@@ -73,8 +81,8 @@ pub async fn retrieve_data(
|
||||
|
||||
let visited_artifacts_mutex = Arc::new(Mutex::new(Vec::new()));
|
||||
futures::future::try_join_all(loader_versions.into_iter()
|
||||
.flatten().map(
|
||||
|(stable, loader, version)| async {
|
||||
.map(
|
||||
|(stable, loader, version, skip_upload)| async {
|
||||
let libs = futures::future::try_join_all(
|
||||
version.libraries.into_iter().map(|mut lib| async {
|
||||
{
|
||||
@@ -167,6 +175,12 @@ pub async fn retrieve_data(
|
||||
)
|
||||
.await?;
|
||||
|
||||
if async move {
|
||||
*skip_upload
|
||||
}.await {
|
||||
return Ok::<(), Error>(())
|
||||
}
|
||||
|
||||
let version_path = format!(
|
||||
"quilt/v{}/versions/{}.json",
|
||||
daedalus::modded::CURRENT_QUILT_FORMAT_VERSION,
|
||||
|
||||
Reference in New Issue
Block a user