diff --git a/.env b/.env index c7298bc74..bbcfb5cbf 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -RUST_LOG=info,error +RUST_LOG=info BASE_URL=https://modrinth-cdn-staging.nyc3.digitaloceanspaces.com diff --git a/Dockerfile b/Dockerfile index eae1ea34b..a2a341da0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,21 @@ -FROM rust:1.68.2 - -COPY ./ ./ +FROM rust:1.68.2 as build +ENV PKG_CONFIG_ALLOW_CROSS=1 +WORKDIR /usr/src/daedalus +COPY . . RUN cargo build --release -CMD ["./target/release/daedalus_client"] \ No newline at end of file + +FROM debian:bullseye-slim + +RUN apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN update-ca-certificates + +COPY --from=build /usr/src/daedalus/target/release/daedalus_client /daedalus/daedalus_client +WORKDIR /daedalus_client + +CMD /daedalus/daedalus_client diff --git a/daedalus/Cargo.toml b/daedalus/Cargo.toml index ada94ed8c..09c54758c 100644 --- a/daedalus/Cargo.toml +++ b/daedalus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "daedalus" -version = "0.1.18" +version = "0.1.19" authors = ["Jai A "] edition = "2018" license = "MIT" diff --git a/daedalus_client/Cargo.toml b/daedalus_client/Cargo.toml index 389c45a64..8b531712c 100644 --- a/daedalus_client/Cargo.toml +++ b/daedalus_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "daedalus_client" -version = "0.1.18" +version = "0.1.19" authors = ["Jai A "] edition = "2018" diff --git a/daedalus_client/src/fabric.rs b/daedalus_client/src/fabric.rs index e3625dabc..6aa8f91fe 100644 --- a/daedalus_client/src/fabric.rs +++ b/daedalus_client/src/fabric.rs @@ -82,6 +82,7 @@ pub async fn retrieve_data( visited_artifacts_mutex.lock().await; if visited_assets.contains(&lib.name) { + lib.name = lib.name.replace(DUMMY_GAME_VERSION, DUMMY_REPLACE_STRING); lib.url = Some(format_url("maven/")); return Ok(lib); @@ -92,7 +93,6 @@ pub async fn retrieve_data( if lib.name.contains(DUMMY_GAME_VERSION) { lib.name = lib.name.replace(DUMMY_GAME_VERSION, DUMMY_REPLACE_STRING); - lib.url = Some(format_url("maven/")); futures::future::try_join_all(list.game.clone().into_iter().map(|game_version| async { let semaphore = semaphore.clone(); let uploaded_files_mutex = uploaded_files_mutex.clone(); @@ -130,6 +130,7 @@ pub async fn retrieve_data( Ok::<(), Error>(()) })).await?; + lib.url = Some(format_url("maven/")); return Ok(lib); } diff --git a/daedalus_client/src/forge.rs b/daedalus_client/src/forge.rs index 7cbe84790..5335f20db 100644 --- a/daedalus_client/src/forge.rs +++ b/daedalus_client/src/forge.rs @@ -93,7 +93,7 @@ pub async fn retrieve_data( if !loaders.is_empty() { version_futures.push(async { - let loaders_versions = Vec::new(); + let mut loaders_versions = Vec::new(); { let loaders_futures = loaders.into_iter().map(|(loader_version_full, version)| async { @@ -464,8 +464,9 @@ pub async fn retrieve_data( while versions.peek().is_some() { let now = Instant::now(); - let chunk: Vec<_> = versions.by_ref().take(1).collect(); - futures::future::try_join_all(chunk).await?; + let chunk: Vec<_> = versions.by_ref().take(10).collect(); + let res = futures::future::try_join_all(chunk).await?; + loaders_versions.extend(res.into_iter().flatten()); chunk_index += 1; @@ -493,7 +494,7 @@ pub async fn retrieve_data( while versions.peek().is_some() { let now = Instant::now(); - let chunk: Vec<_> = versions.by_ref().take(10).collect(); + let chunk: Vec<_> = versions.by_ref().take(1).collect(); futures::future::try_join_all(chunk).await?; chunk_index += 1; @@ -544,6 +545,8 @@ pub async fn retrieve_data( } } + println!("{}", serde_json::to_string(&versions).unwrap()); + upload_file_to_bucket( format!( "forge/v{}/manifest.json", diff --git a/daedalus_client/src/main.rs b/daedalus_client/src/main.rs index 56b524bfb..000f003a0 100644 --- a/daedalus_client/src/main.rs +++ b/daedalus_client/src/main.rs @@ -44,7 +44,7 @@ async fn main() { return; } - let mut timer = tokio::time::interval(Duration::from_secs(30 * 60)); + let mut timer = tokio::time::interval(Duration::from_secs(60 * 60)); let semaphore = Arc::new(Semaphore::new(50)); loop {