From 07cd1c18f511962d8b839c9a1af1d0b7bdf0a819 Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Wed, 17 Apr 2024 20:29:13 +0530 Subject: [PATCH 01/13] fix comiple, default json Signed-off-by: Phani Sajja --- Cargo.toml | 4 ++-- hab-auto-build.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 5f1195b..957dffa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,7 +58,7 @@ spdx = "0.10.0" which = "4.4.0" axum = "0.6.18" rust-embed = "6.6.1" -tokio = "1.28.1" +tokio = { version = "1.28.1", features = ["rt-multi-thread"] } mime_guess = "2.0.4" filetime = "0.2.21" rayon = "1.7.0" @@ -78,4 +78,4 @@ reqwest = { version = "0.11", default-features = false, features = [ ] } [profile.release] -strip = true \ No newline at end of file +strip = true diff --git a/hab-auto-build.json b/hab-auto-build.json index b48c5c1..34fdd71 100644 --- a/hab-auto-build.json +++ b/hab-auto-build.json @@ -1,15 +1,15 @@ { "repos": [{ "id": "core", - "source": "../bootstrap-plans", + "source": "../core-packages", "native_packages": [ + "packages/bootstrap/build-support/**", "packages/bootstrap/build-tools/cross-compiler/**", "packages/bootstrap/build-tools/host-tools/**", "packages/bootstrap/build-tools/cross-tools/**" ], "ignored_packages": [ "draft/**" - ] }] } \ No newline at end of file From 503564cea2c55793aacb7995ae5ccbd431fc6d0d Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Wed, 17 Apr 2024 20:31:01 +0530 Subject: [PATCH 02/13] add CI workflow Signed-off-by: Phani Sajja --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f4a640d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,37 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + toolchain: + - stable + + steps: + - uses: actions/checkout@v4 + - run: >- + rustup update ${{ matrix.toolchain }} && rustup default ${{matrix.toolchain }} + + - name: Check for Clippy Format Errors + run: cargo fmt -- --check + + - name: Run Clippy + run: cargo clippy -- -D warnings + + - name: Build + run: cargo build --verbose + + - name: Run tests + run: cargo test --verbose From 8a28244ad46d00c233543208d24e103c5d0accd3 Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Wed, 17 Apr 2024 21:16:27 +0530 Subject: [PATCH 03/13] fix fmt Signed-off-by: Phani Sajja --- src/check/artifact/macho.rs | 3 ++- src/cli/add.rs | 5 ++++- src/cli/analyze.rs | 4 ++-- src/cli/check.rs | 7 ++++--- src/cli/compare.rs | 19 ++++++++++++++----- src/cli/download.rs | 23 ++++++++++++++++++++--- src/cli/git_sync.rs | 3 ++- src/cli/remove.rs | 3 ++- src/cli/server.rs | 2 +- src/core/artifact.rs | 36 +++++++++++++++++------------------- src/core/dep_graph.rs | 2 +- src/core/download.rs | 3 ++- src/core/plan.rs | 2 +- src/core/source.rs | 16 ++++++++++++---- 14 files changed, 84 insertions(+), 44 deletions(-) diff --git a/src/check/artifact/macho.rs b/src/check/artifact/macho.rs index fd30e73..951304d 100644 --- a/src/check/artifact/macho.rs +++ b/src/check/artifact/macho.rs @@ -14,7 +14,8 @@ use crate::{ core::{ habitat::{MACOS_SYSTEM_DIRS, MACOS_SYSTEM_LIBS}, ArtifactCache, ArtifactContext, GlobSetExpression, MachOType, PackageIdent, PackagePath, - }, store::Store, + }, + store::Store, }; #[derive(Debug, Serialize, Deserialize)] diff --git a/src/cli/add.rs b/src/cli/add.rs index 197ec1b..813ae9f 100644 --- a/src/cli/add.rs +++ b/src/cli/add.rs @@ -3,7 +3,10 @@ use std::{env, path::PathBuf}; use clap::Args; use tracing::{error, info}; -use crate::core::{AddStatus, AutoBuildConfig, AutoBuildContext, PackageDepGlob, PackageTarget, ChangeDetectionMode}; +use crate::core::{ + AddStatus, AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, PackageDepGlob, + PackageTarget, +}; use color_eyre::eyre::{eyre, Context, Result}; #[derive(Debug, Args)] diff --git a/src/cli/analyze.rs b/src/cli/analyze.rs index 3dfedd5..43ebf2a 100644 --- a/src/cli/analyze.rs +++ b/src/cli/analyze.rs @@ -10,8 +10,8 @@ use clap::Args; use crate::{ cli::output::OutputFormat, core::{ - AnalysisType, AutoBuildConfig, AutoBuildContext, Dependency, DependencyAnalysis, - PackageDepGlob, PackageTarget, ChangeDetectionMode, + AnalysisType, AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, Dependency, + DependencyAnalysis, PackageDepGlob, PackageTarget, }, }; diff --git a/src/cli/check.rs b/src/cli/check.rs index 76a3a30..54abafc 100644 --- a/src/cli/check.rs +++ b/src/cli/check.rs @@ -4,7 +4,8 @@ use owo_colors::OwoColorize; use std::{ env, fmt::Write, - path::{Path, PathBuf}, time::Instant, + path::{Path, PathBuf}, + time::Instant, }; use tracing::{error, info}; @@ -12,8 +13,8 @@ use crate::{ check::{LeveledArtifactCheckViolation, LeveledSourceCheckViolation, ViolationLevel}, cli::output::OutputFormat, core::{ - AutoBuildConfig, AutoBuildContext, BuildPlan, PackageDepGlob, PackageTarget, - PlanCheckStatus, ChangeDetectionMode, + AutoBuildConfig, AutoBuildContext, BuildPlan, ChangeDetectionMode, PackageDepGlob, + PackageTarget, PlanCheckStatus, }, }; diff --git a/src/cli/compare.rs b/src/cli/compare.rs index 423987a..5b55162 100644 --- a/src/cli/compare.rs +++ b/src/cli/compare.rs @@ -8,7 +8,8 @@ use tracing::info; use crate::{ cli::output::OutputFormat, core::{ - AutoBuildConfig, AutoBuildContext, PackageDiff, PackageName, PackageOrigin, PackageTarget, ChangeDetectionMode, + AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, PackageDiff, PackageName, + PackageOrigin, PackageTarget, }, }; @@ -31,10 +32,18 @@ pub(crate) fn execute(args: Params) -> Result<()> { let source_config = AutoBuildConfig::new(&source_config_path)?; let target_config = AutoBuildConfig::new(&target_config_path)?; - let source_run_context = AutoBuildContext::new(&source_config, &source_config_path, ChangeDetectionMode::Disk) - .with_context(|| eyre!("Failed to initialize run"))?; - let target_run_context = AutoBuildContext::new(&target_config, &target_config_path, ChangeDetectionMode::Disk) - .with_context(|| eyre!("Failed to initialize run"))?; + let source_run_context = AutoBuildContext::new( + &source_config, + &source_config_path, + ChangeDetectionMode::Disk, + ) + .with_context(|| eyre!("Failed to initialize run"))?; + let target_run_context = AutoBuildContext::new( + &target_config, + &target_config_path, + ChangeDetectionMode::Disk, + ) + .with_context(|| eyre!("Failed to initialize run"))?; let diffs = target_run_context.compare(&source_run_context); diff --git a/src/cli/download.rs b/src/cli/download.rs index a1cf99b..74c4287 100644 --- a/src/cli/download.rs +++ b/src/cli/download.rs @@ -7,7 +7,10 @@ use clap::Args; use crate::{ cli::check::output_violations, - core::{AutoBuildConfig, AutoBuildContext, DownloadStatus, PackageDepGlob, PackageTarget, ChangeDetectionMode}, + core::{ + AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, DownloadStatus, PackageDepGlob, + PackageTarget, + }, }; #[derive(Debug, Args)] @@ -55,7 +58,14 @@ pub(crate) fn execute(args: Params) -> Result<()> { ) => { info!(target: "user-log", "Downloaded sources for {} from {} in {:.3}s", plan_ctx.id, source.url, download_duration.num_milliseconds() as f32 / 1000.0f32); if args.check_source { - output_violations(Some(plan_ctx.plan_path.plan_config_path()), &source_violations, &[], "", false, false)?; + output_violations( + Some(plan_ctx.plan_path.plan_config_path()), + &source_violations, + &[], + "", + false, + false, + )?; } } DownloadStatus::AlreadyDownloaded( @@ -66,7 +76,14 @@ pub(crate) fn execute(args: Params) -> Result<()> { ) => { info!(target: "user-log", "Found existing sources for {} from {}", plan_ctx.id, source.url); if args.check_source { - output_violations(Some(plan_ctx.plan_path.plan_config_path()), &source_violations, &[], "", false, false)?; + output_violations( + Some(plan_ctx.plan_path.plan_config_path()), + &source_violations, + &[], + "", + false, + false, + )?; } } DownloadStatus::MissingSource(plan_ctx) => { diff --git a/src/cli/git_sync.rs b/src/cli/git_sync.rs index 42797dc..b583b90 100644 --- a/src/cli/git_sync.rs +++ b/src/cli/git_sync.rs @@ -5,7 +5,8 @@ use owo_colors::OwoColorize; use tracing::{error, info}; use crate::core::{ - AutoBuildConfig, AutoBuildContext, PackageDepGlob, PackageTarget, PlanContextPathGitSyncStatus, ChangeDetectionMode, + AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, PackageDepGlob, PackageTarget, + PlanContextPathGitSyncStatus, }; use color_eyre::eyre::{eyre, Context, Result}; diff --git a/src/cli/remove.rs b/src/cli/remove.rs index 165988a..7c6031d 100644 --- a/src/cli/remove.rs +++ b/src/cli/remove.rs @@ -4,7 +4,8 @@ use clap::Args; use tracing::{error, info}; use crate::core::{ - AutoBuildConfig, AutoBuildContext, PackageDepGlob, PackageDepIdent, PackageTarget, RemoveStatus, ChangeDetectionMode, + AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, PackageDepGlob, PackageDepIdent, + PackageTarget, RemoveStatus, }; use color_eyre::eyre::{eyre, Context, Result}; diff --git a/src/cli/server.rs b/src/cli/server.rs index ed4f98c..9f07b31 100644 --- a/src/cli/server.rs +++ b/src/cli/server.rs @@ -1,4 +1,4 @@ -use crate::core::{AutoBuildConfig, AutoBuildContext, DepGraphData, ChangeDetectionMode}; +use crate::core::{AutoBuildConfig, AutoBuildContext, ChangeDetectionMode, DepGraphData}; use axum::{ body::{boxed, Full}, diff --git a/src/core/artifact.rs b/src/core/artifact.rs index e3acb44..164b467 100644 --- a/src/core/artifact.rs +++ b/src/core/artifact.rs @@ -946,8 +946,8 @@ impl ArtifactContext { } }) } - RawArtifactItem::Resource(path, file_mode, kind, data) => Ok( - match Resource::from_data(&path, file_mode, kind, data) { + RawArtifactItem::Resource(path, file_mode, kind, data) => { + Ok(match Resource::from_data(&path, file_mode, kind, data) { Err(err) => { error!( "Failed to read {} detected as {:?} resource: {:?}", @@ -957,24 +957,22 @@ impl ArtifactContext { ); vec![] } - Ok(resource) => { - match resource { - Resource::Elf(metadata) => { - vec![IndexedArtifactItem::Elf((path, metadata))] - } - Resource::Script(metadata) => { - vec![IndexedArtifactItem::Script((path, metadata))] - } - Resource::MachO(metadata) => { - vec![IndexedArtifactItem::MachO((path, metadata))] - } - _ => { - vec![] - } + Ok(resource) => match resource { + Resource::Elf(metadata) => { + vec![IndexedArtifactItem::Elf((path, metadata))] } - } - } - ), + Resource::Script(metadata) => { + vec![IndexedArtifactItem::Script((path, metadata))] + } + Resource::MachO(metadata) => { + vec![IndexedArtifactItem::MachO((path, metadata))] + } + _ => { + vec![] + } + }, + }) + } } } else { Ok(vec![]) diff --git a/src/core/dep_graph.rs b/src/core/dep_graph.rs index 0fc7723..f671eca 100644 --- a/src/core/dep_graph.rs +++ b/src/core/dep_graph.rs @@ -501,7 +501,7 @@ impl DepGraph { DependencyType::Studio, ); } - // Use the bootstrap studio if there is a local / resolved bootstrap + // Use the bootstrap studio if there is a local / resolved bootstrap // studio plan and no local / resolved standard studio plan (Dependency::ResolvedDep(_), Dependency::RemoteDep(_)) | (Dependency::LocalPlan(_), Dependency::RemoteDep(_)) => { diff --git a/src/core/download.rs b/src/core/download.rs index 1ba87ca..3933f27 100644 --- a/src/core/download.rs +++ b/src/core/download.rs @@ -9,7 +9,8 @@ use reqwest::{ use std::{ fs::File, io::{Read, Seek, SeekFrom, Write}, - path::{Path, PathBuf}, time::Instant, + path::{Path, PathBuf}, + time::Instant, }; use suppaftp::FtpStream; use tracing::{debug, log::error}; diff --git a/src/core/plan.rs b/src/core/plan.rs index 0834876..902152c 100644 --- a/src/core/plan.rs +++ b/src/core/plan.rs @@ -137,7 +137,7 @@ pub(crate) struct RawPlanData { pub licenses: Vec, pub deps: Vec, pub build_deps: Vec, - pub scaffolding_dep: Option + pub scaffolding_dep: Option, } #[derive(Debug, PartialEq, Eq, Clone, Hash, Serialize, Deserialize, PartialOrd, Ord)] diff --git a/src/core/source.rs b/src/core/source.rs index c81a5b4..180bf9a 100644 --- a/src/core/source.rs +++ b/src/core/source.rs @@ -2,7 +2,8 @@ use std::{ collections::BTreeSet, fs::File, io::{BufReader, Read}, - path::{Path, PathBuf}, time::Instant, + path::{Path, PathBuf}, + time::Instant, }; use askalono::{ScanMode, ScanStrategy, Store, TextData}; @@ -14,7 +15,7 @@ use lazy_static::lazy_static; use rayon::prelude::*; use serde::{Deserialize, Serialize}; use tar::Archive; -use tracing::{error, trace, debug}; +use tracing::{debug, error, trace}; use xz2::bufread::XzDecoder; use super::{FileKind, PackageSha256Sum}; @@ -161,7 +162,11 @@ impl SourceContext { todo!() } } - FileKind::Elf | FileKind::MachBinary | FileKind::UnixArchive | FileKind::Script | FileKind::Other => { + FileKind::Elf + | FileKind::MachBinary + | FileKind::UnixArchive + | FileKind::Script + | FileKind::Other => { format = (file_type, None); licenses = BTreeSet::default(); } @@ -223,7 +228,10 @@ impl SourceContext { } }) .collect(); - debug!("Completed scanning for licenses in archive in {}s", start.elapsed().as_secs_f32()); + debug!( + "Completed scanning for licenses in archive in {}s", + start.elapsed().as_secs_f32() + ); Ok(licenses) } } From 4f8e2794b3772880d7d23fdfb24bc28d6023204a Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 19 Apr 2024 12:16:09 +0530 Subject: [PATCH 04/13] fix clippy Signed-off-by: Phani Sajja --- src/check/artifact/macho.rs | 5 +- src/check/artifact/package.rs | 9 ++-- src/check/artifact/script.rs | 57 ++++++++++------------ src/check/mod.rs | 81 +++++++++++++++---------------- src/check/source/license.rs | 10 ++-- src/cli/analyze.rs | 1 + src/cli/build.rs | 2 +- src/cli/changes.rs | 2 +- src/cli/check.rs | 11 ++--- src/cli/git_sync.rs | 2 +- src/cli/server.rs | 2 +- src/core/artifact.rs | 84 +++++++++++++++----------------- src/core/auto_build.rs | 29 ++++++----- src/core/dep_graph.rs | 91 +++++++++++++++-------------------- src/core/download.rs | 11 ++--- src/core/fs.rs | 22 +++------ src/core/habitat.rs | 30 ++++++------ src/core/mod.rs | 5 ++ src/core/package.rs | 4 +- src/core/plan.rs | 12 ++--- src/core/source.rs | 8 +-- src/store/mod.rs | 15 +++--- 22 files changed, 231 insertions(+), 262 deletions(-) diff --git a/src/check/artifact/macho.rs b/src/check/artifact/macho.rs index 951304d..515f90f 100644 --- a/src/check/artifact/macho.rs +++ b/src/check/artifact/macho.rs @@ -1,6 +1,5 @@ use std::{collections::HashSet, fmt::Display, path::PathBuf}; -use lazy_static::lazy_static; use owo_colors::OwoColorize; use path_absolutize::Absolutize; use serde::{Deserialize, Serialize}; @@ -349,7 +348,7 @@ pub(crate) struct MachOCheck {} impl ArtifactCheck for MachOCheck { fn artifact_context_check( &self, - store: &Store, + _store: &Store, rules: &PlanContextConfig, checker_context: &mut CheckerContext, _artifact_cache: &mut ArtifactCache, @@ -377,7 +376,7 @@ impl ArtifactCheck for MachOCheck { }) .last() .expect("Default rule missing"); - let bad_rpath_entry_options = rules + let _bad_rpath_entry_options = rules .artifact_rules .iter() .filter_map(|rule| { diff --git a/src/check/artifact/package.rs b/src/check/artifact/package.rs index d2d1590..b94d8f7 100644 --- a/src/check/artifact/package.rs +++ b/src/check/artifact/package.rs @@ -335,7 +335,7 @@ pub(crate) struct PackageBeforeCheck {} impl ArtifactCheck for PackageBeforeCheck { fn artifact_context_check( &self, - store: &Store, + _store: &Store, rules: &PlanContextConfig, checker_context: &mut CheckerContext, artifact_cache: &mut ArtifactCache, @@ -511,7 +511,10 @@ impl ArtifactCheck for PackageBeforeCheck { None } }) - .chain(Some((artifact_context.id.clone(), artifact_context.clone())).into_iter()) // The artifact as it's own dependency + .chain(Some(( + artifact_context.id.clone(), + artifact_context.clone(), + ))) // The artifact as it's own dependency .collect::>(); let mut runtime_binaries: HashMap = HashMap::new(); @@ -661,7 +664,7 @@ pub(crate) struct PackageAfterCheck {} impl ArtifactCheck for PackageAfterCheck { fn artifact_context_check( &self, - store: &Store, + _store: &Store, rules: &PlanContextConfig, checker_context: &mut CheckerContext, _artifact_cache: &mut ArtifactCache, diff --git a/src/check/artifact/script.rs b/src/check/artifact/script.rs index 69eba1c..3a535c2 100644 --- a/src/check/artifact/script.rs +++ b/src/check/artifact/script.rs @@ -362,7 +362,7 @@ impl Default for ScriptCheck { impl ArtifactCheck for ScriptCheck { fn artifact_context_check( &self, - store: &Store, + _store: &Store, rules: &PlanContextConfig, checker_context: &mut CheckerContext, _artifact_cache: &mut ArtifactCache, @@ -474,18 +474,16 @@ impl ArtifactCheck for ScriptCheck { for (path, metadata) in artifact_context.scripts.iter() { let command = if metadata.interpreter.command.is_absolute() { metadata.interpreter.command.clone() + } else if let Some(value) = path.parent().map(|p| { + p.join(metadata.interpreter.command.as_path()) + .absolutize() + .unwrap() + .to_path_buf() + }) { + value } else { - if let Some(value) = path.parent().map(|p| { - p.join(metadata.interpreter.command.as_path()) - .absolutize() - .unwrap() - .to_path_buf() - }) { - value - } else { - error!(target: "user-ui", "Could not determine interpreter for {} from header: {}", path.display(), metadata.interpreter.raw); - continue; - } + error!(target: "user-ui", "Could not determine interpreter for {} from header: {}", path.display(), metadata.interpreter.raw); + continue; }; // Resolves the path if it is a symlink debug!( @@ -540,23 +538,21 @@ impl ArtifactCheck for ScriptCheck { ), }); } - } else { - if !missing_env_script_interpreter_options - .ignored_files - .is_match(path.relative_package_path().unwrap()) - { - violations.push(LeveledArtifactCheckViolation { - level: missing_env_script_interpreter_options.level, - violation: ArtifactCheckViolation::Script( - ScriptRule::MissingEnvScriptInterpreter( - MissingEnvScriptInterpreter { - source: path.clone(), - raw_interpreter: metadata.interpreter.raw.clone(), - }, - ), + } else if !missing_env_script_interpreter_options + .ignored_files + .is_match(path.relative_package_path().unwrap()) + { + violations.push(LeveledArtifactCheckViolation { + level: missing_env_script_interpreter_options.level, + violation: ArtifactCheckViolation::Script( + ScriptRule::MissingEnvScriptInterpreter( + MissingEnvScriptInterpreter { + source: path.clone(), + raw_interpreter: metadata.interpreter.raw.clone(), + }, ), - }); - } + ), + }); } } else if let Some(interpreter_artifact_ctx) = tdep_artifacts.get(&interpreter_dep) { @@ -580,10 +576,7 @@ impl ArtifactCheck for ScriptCheck { { let mut interpreter_listed = false; for intermediate in intermediates.iter() { - if interpreter_artifact_ctx - .interpreters - .contains(&intermediate) - { + if interpreter_artifact_ctx.interpreters.contains(intermediate) { interpreter_listed = true; } } diff --git a/src/check/mod.rs b/src/check/mod.rs index 0eb2f27..0826a56 100644 --- a/src/check/mod.rs +++ b/src/check/mod.rs @@ -76,6 +76,7 @@ impl PlanContextConfig { self.artifact_rules.extend_from_slice(&other.artifact_rules); self } + pub fn from_str(value: &str, target: PackageTarget) -> Result { let document = value.parse::()?; let mut restructured_document = Document::new(); @@ -86,42 +87,40 @@ impl PlanContextConfig { .get(target.to_string().as_str()) .and_then(|v| v.get("rules")), ]; - for rule_set in rule_sets { - if let Some(rules) = rule_set { - let rules = rules - .as_table() - .ok_or(eyre!("Invalid plan configuration, 'rules' must be a table"))?; - for (rule_id, rule_config) in rules.iter() { - if let Some(level) = rule_config.as_str() { - let mut rule = InlineTable::default(); - rule.insert( - "id", - Value::String(Formatted::::new(rule_id.to_string())), - ); - let mut rule_options = InlineTable::default(); - rule_options.insert( - "level", - Value::String(Formatted::::new(level.to_string())), - ); - rule.insert("options", Value::InlineTable(rule_options)); - restructured_rules.push(Value::InlineTable(rule)); - } else if rule_config.is_inline_table() { - let mut rule = InlineTable::default(); - rule.insert( - "id", - Value::String(Formatted::::new(rule_id.to_string())), - ); - rule.insert( - "options", - Value::InlineTable(rule_config.as_inline_table().unwrap().clone()), - ); - restructured_rules.push(Value::InlineTable(rule)); - } else { - return Err(eyre!( - "Invalid rule configuration for '{}'", - rule_id.to_string() - )); - } + for rules in rule_sets.into_iter().flatten() { + let rules = rules + .as_table() + .ok_or(eyre!("Invalid plan configuration, 'rules' must be a table"))?; + for (rule_id, rule_config) in rules.iter() { + if let Some(level) = rule_config.as_str() { + let mut rule = InlineTable::default(); + rule.insert( + "id", + Value::String(Formatted::::new(rule_id.to_string())), + ); + let mut rule_options = InlineTable::default(); + rule_options.insert( + "level", + Value::String(Formatted::::new(level.to_string())), + ); + rule.insert("options", Value::InlineTable(rule_options)); + restructured_rules.push(Value::InlineTable(rule)); + } else if rule_config.is_inline_table() { + let mut rule = InlineTable::default(); + rule.insert( + "id", + Value::String(Formatted::::new(rule_id.to_string())), + ); + rule.insert( + "options", + Value::InlineTable(rule_config.as_inline_table().unwrap().clone()), + ); + restructured_rules.push(Value::InlineTable(rule)); + } else { + return Err(eyre!( + "Invalid rule configuration for '{}'", + rule_id.to_string() + )); } } } @@ -574,12 +573,12 @@ impl Checker { use self::artifact::macho::MachOCheck; Checker { - source_checks: vec![Box::new(LicenseCheck::default())], + source_checks: vec![Box::::default()], artifact_checks: vec![ - Box::new(PackageBeforeCheck::default()), - Box::new(MachOCheck::default()), - Box::new(ScriptCheck::default()), - Box::new(PackageAfterCheck::default()), + Box::::default(), + Box::::default(), + Box::::default(), + Box::::default(), ], } } diff --git a/src/check/source/license.rs b/src/check/source/license.rs index 04aee50..43dcaee 100644 --- a/src/check/source/license.rs +++ b/src/check/source/license.rs @@ -230,7 +230,7 @@ impl LicenseCheck { .expect("Default rule missing"); for license_expression in license_expressions { - match spdx::Expression::parse(&license_expression) { + match spdx::Expression::parse(license_expression) { Ok(expression) => { for req_expression in expression.requirements() { // Transform license id into correct string form @@ -255,9 +255,7 @@ impl LicenseCheck { spdx::LicenseItem::Other { doc_ref: _, lic_ref, - } => { - format!("{}", lic_ref) - } + } => lic_ref.to_string(), }; if !specified_licenses.contains(&license_id) { specified_licenses.insert(license_id); @@ -353,7 +351,7 @@ impl SourceCheck for LicenseCheck { plan_context: &PlanContext, source_context: &SourceContext, ) -> Vec { - LicenseCheck::source_context_check(&self, rules, &plan_context.licenses, source_context) + LicenseCheck::source_context_check(self, rules, &plan_context.licenses, source_context) } fn source_context_check_with_artifact( @@ -362,6 +360,6 @@ impl SourceCheck for LicenseCheck { artifact_context: &ArtifactContext, source_context: &SourceContext, ) -> Vec { - LicenseCheck::source_context_check(&self, rules, &artifact_context.licenses, source_context) + LicenseCheck::source_context_check(self, rules, &artifact_context.licenses, source_context) } } diff --git a/src/cli/analyze.rs b/src/cli/analyze.rs index 43ebf2a..13088da 100644 --- a/src/cli/analyze.rs +++ b/src/cli/analyze.rs @@ -200,6 +200,7 @@ fn output_json( Ok(()) } +#[allow(dead_code)] fn output_pretty(_deps: Vec<&Dependency>) { todo!() } diff --git a/src/cli/build.rs b/src/cli/build.rs index 1b69961..3c75c50 100644 --- a/src/cli/build.rs +++ b/src/cli/build.rs @@ -190,7 +190,7 @@ pub(crate) fn execute(args: Params) -> Result<()> { } for step in build_plan.build_steps { info!(target: "user-ui", "{} [{}] {}", " Building".green().bold(), step.studio, step.plan_ctx.id); - match run_context.download_plan_source(&step.plan_ctx, true)? { + match run_context.download_plan_source(step.plan_ctx, true)? { DownloadStatus::Downloaded(_source_ctx, _, _, _, source_violations) | DownloadStatus::AlreadyDownloaded(_source_ctx, _, _, source_violations) => { let source_warnings = source_violations diff --git a/src/cli/changes.rs b/src/cli/changes.rs index d563771..5d258e0 100644 --- a/src/cli/changes.rs +++ b/src/cli/changes.rs @@ -50,7 +50,7 @@ pub(crate) fn execute(args: Params) -> Result<()> { .packages .clone() .unwrap_or(vec![PackageDepGlob::parse("*/*").unwrap()]); - let package_indices = run_context.glob_deps(&packages, PackageTarget::default())?; + let package_indices = run_context.glob_deps(packages, PackageTarget::default())?; if package_indices.is_empty() && !run_context.is_empty() { error!(target: "user-log", "No packages found matching patterns: {}", diff --git a/src/cli/check.rs b/src/cli/check.rs index 54abafc..ef9429d 100644 --- a/src/cli/check.rs +++ b/src/cli/check.rs @@ -1,12 +1,7 @@ use clap::Args; use color_eyre::eyre::{eyre, Context, Result}; use owo_colors::OwoColorize; -use std::{ - env, - fmt::Write, - path::{Path, PathBuf}, - time::Instant, -}; +use std::{env, fmt::Write, path::PathBuf, time::Instant}; use tracing::{error, info}; use crate::{ @@ -136,7 +131,7 @@ pub(crate) fn output_violations( write!( &mut header, "{}", - format!(" all checks passed").green().bold() + " all checks passed".to_string().green().bold() )?; } info!(target: "user-ui", "{}", header); @@ -166,10 +161,12 @@ pub(crate) fn output_violations( Ok(()) } +#[allow(dead_code)] fn output_plain(_dry_run: BuildPlan) -> Result<()> { todo!() } +#[allow(dead_code)] fn output_json(_dry_run: BuildPlan) -> Result<()> { todo!() } diff --git a/src/cli/git_sync.rs b/src/cli/git_sync.rs index b583b90..418902f 100644 --- a/src/cli/git_sync.rs +++ b/src/cli/git_sync.rs @@ -37,7 +37,7 @@ pub(crate) fn execute(args: Params) -> Result<()> { .packages .clone() .unwrap_or(vec![PackageDepGlob::parse("*/*").unwrap()]); - let package_indices = run_context.glob_deps(&packages, PackageTarget::default())?; + let package_indices = run_context.glob_deps(packages, PackageTarget::default())?; if package_indices.is_empty() && !run_context.is_empty() { error!(target: "user-log", "No packages found matching patterns: {}", diff --git a/src/cli/server.rs b/src/cli/server.rs index 9f07b31..617c92c 100644 --- a/src/cli/server.rs +++ b/src/cli/server.rs @@ -11,7 +11,6 @@ use axum::{ }; use clap::Args; use color_eyre::eyre::{eyre, Context, Result}; -use petgraph::visit::EdgeRef; use rust_embed::RustEmbed; use serde_json::Value; use std::{env, net::SocketAddr, path::PathBuf, sync::Arc}; @@ -86,6 +85,7 @@ async fn static_handler(uri: Uri) -> impl IntoResponse { } // Finally, we use a fallback route for anything that didn't match. +#[allow(dead_code)] async fn not_found() -> Html<&'static str> { Html("

404

Not Found

") } diff --git a/src/core/artifact.rs b/src/core/artifact.rs index 164b467..6825d2f 100644 --- a/src/core/artifact.rs +++ b/src/core/artifact.rs @@ -3,14 +3,14 @@ use color_eyre::{ eyre::{eyre, Context, Result}, Help, SectionExt, }; -use diesel::{Connection, SqliteConnection}; +use diesel::Connection; use globset::{GlobBuilder, GlobSet, GlobSetBuilder}; use goblin::{ elf64::{ dynamic::DF_1_PIE, header::{ET_DYN, ET_EXEC}, }, - mach::{load_command::CommandVariant, Mach, SingleArch}, + mach::{Mach, SingleArch}, Object, }; use ignore::{ParallelVisitor, ParallelVisitorBuilder, WalkBuilder, WalkState}; @@ -19,7 +19,6 @@ use path_absolutize::Absolutize; use rayon::prelude::*; use reqwest::Url; use serde::{Deserialize, Serialize}; -use sha2::digest::block_buffer::Lazy; use std::{ collections::{BTreeMap, HashMap, HashSet}, ffi::OsStr, @@ -99,7 +98,7 @@ impl Default for ArtifactCachePath { fn default() -> Self { ArtifactCachePath( FSRootPath::default().as_ref().join( - &["hab", "cache", "artifacts"] + ["hab", "cache", "artifacts"] .into_iter() .collect::(), ), @@ -151,7 +150,7 @@ pub(crate) struct ArtifactCache { impl ArtifactCache { pub fn new(artifact_cache_path: ArtifactCachePath, store: &Store) -> Result { let start = Instant::now(); - let mut artifact_cache = ArtifactCache { + let artifact_cache = ArtifactCache { path: artifact_cache_path, known_artifacts: Arc::new(RwLock::new(ArtifactList::default())), store: store.clone(), @@ -166,7 +165,7 @@ impl ArtifactCache { while let Ok(artifact_ctx) = receiver.recv() { known_artifact_count += 1; - artifact_cache.artifact_add(store.into(), artifact_ctx)?; + artifact_cache.artifact_add(store, artifact_ctx)?; } artifact_indexer_thread .join() @@ -183,7 +182,7 @@ impl ArtifactCache { pub fn artifact_add( &self, - store: &Store, + _store: &Store, artifact_ctx: LazyArtifactContext, ) -> Result { let mut known_artifacts = self.known_artifacts.write().unwrap(); @@ -199,7 +198,7 @@ impl ArtifactCache { fn store_artifact( &self, - known_artifacts: &mut RwLockWriteGuard<'_, ArtifactList>, // we take reference to the write lock so we can gaurantee that there is no other modification in flight + _known_artifacts: &mut RwLockWriteGuard<'_, ArtifactList>, // we take reference to the write lock so we can gaurantee that there is no other modification in flight artifact_ctx: &ArtifactContext, ) -> Result<()> { self.store @@ -245,9 +244,9 @@ impl ArtifactCache { .and_then(|a| a.get(&build_ident.target)) .and_then(|a| match &build_ident.version { PackageBuildVersion::Static(version) => a.get(version), - PackageBuildVersion::Dynamic => a.values().rev().next(), + PackageBuildVersion::Dynamic => a.values().next_back(), }) - .and_then(|a| a.values().rev().next()) + .and_then(|a| a.values().next_back()) .map(|a| match a { LazyArtifactContext::NotLoaded(a) => a.clone(), LazyArtifactContext::Loaded(a) => MinimalArtifactContext::from(a), @@ -268,9 +267,9 @@ impl ArtifactCache { .and_then(|a| a.get(&build_ident.target)) .and_then(|a| match &build_ident.version { PackageBuildVersion::Static(version) => a.get(version), - PackageBuildVersion::Dynamic => a.values().rev().next(), + PackageBuildVersion::Dynamic => a.values().next_back(), }) - .and_then(|a| a.values().rev().next()) + .and_then(|a| a.values().next_back()) .cloned(); self.load_lazy_artifact(lazy_artifact) } @@ -287,11 +286,11 @@ impl ArtifactCache { .and_then(|a| a.get(&dep_ident.target)) .and_then(|a| match &dep_ident.version { PackageVersion::Resolved(version) => a.get(version), - PackageVersion::Unresolved => a.values().rev().next(), + PackageVersion::Unresolved => a.values().next_back(), }) .and_then(|a| match &dep_ident.release { PackageRelease::Resolved(release) => a.get(release), - PackageRelease::Unresolved => a.values().rev().next(), + PackageRelease::Unresolved => a.values().next_back(), }) .map(|a| match a { LazyArtifactContext::NotLoaded(a) => a.clone(), @@ -312,16 +311,17 @@ impl ArtifactCache { .and_then(|a| a.get(&dep_ident.target)) .and_then(|a| match &dep_ident.version { PackageVersion::Resolved(version) => a.get(version), - PackageVersion::Unresolved => a.values().rev().next(), + PackageVersion::Unresolved => a.values().next_back(), }) .and_then(|a| match &dep_ident.release { PackageRelease::Resolved(release) => a.get(release), - PackageRelease::Unresolved => a.values().rev().next(), + PackageRelease::Unresolved => a.values().next_back(), }) .cloned(); self.load_lazy_artifact(lazy_artifact) } + #[allow(dead_code)] pub fn minimal_artifact(&self, dep_ident: &PackageIdent) -> Option { self.known_artifacts .read() @@ -584,7 +584,7 @@ impl From<&ArtifactContext> for MinimalArtifactContext { fn from(artifact_ctx: &ArtifactContext) -> Self { InnerMinimalArtifactContext { id: artifact_ctx.id.clone(), - created_at: artifact_ctx.created_at.clone(), + created_at: artifact_ctx.created_at, path: None, } .into() @@ -614,7 +614,7 @@ enum IndexedArtifactItem { impl ArtifactContext { pub fn lazy_read_from_disk( artifact_path: impl AsRef, - hash: Option<&Blake3>, + _hash: Option<&Blake3>, ) -> Result { let start = Instant::now(); let f = std::fs::File::open(artifact_path.as_ref())?; @@ -651,14 +651,14 @@ impl ArtifactContext { let mut tar = Archive::new(decoder); let mut id = None; - let mut target = artifact_path + let target = artifact_path .as_ref() .file_stem() .and_then(|v| v.to_str()) .map(|v| { let mut iter = v.rsplitn(3, '-'); - let os = iter.next().map(|v| PackageOS::parse(v)).transpose()?; - let arch = iter.next().map(|v| PackageArch::parse(v)).transpose()?; + let os = iter.next().map(PackageOS::parse).transpose()?; + let arch = iter.next().map(PackageArch::parse).transpose()?; Ok::(PackageTarget { arch: arch.ok_or(eyre!("Invalid artifact target architecture"))?, os: os.ok_or(eyre!("Invalid artifact target os"))?, @@ -667,12 +667,11 @@ impl ArtifactContext { .transpose()? .ok_or(eyre!("Invalid artifact name"))?; - for entry in tar.entries()? { - let mut entry = entry?; + if let Some(entry) = (tar.entries()?).next() { + let entry = entry?; let path = entry.path()?; id = path.package_ident(target); - break; } let id = id.ok_or(eyre!("Package artifact malformed"))?; @@ -810,24 +809,22 @@ impl ArtifactContext { if !matches.is_empty() { let mut data = String::new(); entry.read_to_string(&mut data)?; - return Ok::<_, color_eyre::eyre::Error>(Some(RawArtifactItem::MetaFile( + Ok::<_, color_eyre::eyre::Error>(Some(RawArtifactItem::MetaFile( file_name.to_string(), data, - ))); + ))) + } else if let Some((kind, data)) = FileKind::maybe_read_file( + entry, + &[FileKind::Elf, FileKind::Script, FileKind::MachBinary], + ) { + Ok::<_, color_eyre::eyre::Error>(Some(RawArtifactItem::Resource( + entry_install_path, + file_mode, + kind, + data, + ))) } else { - if let Some((kind, data)) = FileKind::maybe_read_file( - entry, - &[FileKind::Elf, FileKind::Script, FileKind::MachBinary], - ) { - return Ok::<_, color_eyre::eyre::Error>(Some(RawArtifactItem::Resource( - entry_install_path, - file_mode, - kind, - data, - ))); - } else { - return Ok::<_, color_eyre::eyre::Error>(None); - } + Ok::<_, color_eyre::eyre::Error>(None) } }) .collect::>() @@ -887,9 +884,8 @@ impl ArtifactContext { for line in data.lines() { if let Some(value) = line.strip_prefix("* __Target__:") { let patterns: &[_] = &[' ', '`', '\n']; - if let Some(target) = + if let Ok(target) = PackageTarget::parse(value.trim_matches(patterns)) - .ok() { result.push(IndexedArtifactItem::PackageTarget( target, @@ -911,7 +907,7 @@ impl ArtifactContext { Some(value.trim_matches(patterns).to_owned()); } if plan_source_header_read { - plan_source.push_str(&line); + plan_source.push_str(line); plan_source.push('\n'); } if line.starts_with("## Plan Source") { @@ -1493,7 +1489,7 @@ impl Resource { let mut metadata = MachOMetadata { archs: Vec::new() }; match macho { Mach::Fat(macho) => { - for index in (0..macho.narches) { + for index in 0..macho.narches { match macho.get(index) { Ok(SingleArch::MachO(macho)) => { metadata.archs.push(SingleArchMachOMetadata { @@ -1515,7 +1511,7 @@ impl Resource { file_type: MachOType::from(macho.header.filetype), }); } - Ok(SingleArch::Archive(archive)) => {} + Ok(SingleArch::Archive(_archive)) => {} Err(goblin::error::Error::Malformed(_)) => { // MachBinaries and JavaClasses unfortunately share the same magic bytes. We can only know for sure // by attempting to parse the object once diff --git a/src/core/auto_build.rs b/src/core/auto_build.rs index 04fff87..11dca97 100644 --- a/src/core/auto_build.rs +++ b/src/core/auto_build.rs @@ -155,6 +155,7 @@ impl Display for AnalysisType { } pub(crate) struct AutoBuildContext { + #[allow(dead_code)] path: AutoBuildContextPath, studios: BuildStudioConfig, store: Store, @@ -199,6 +200,7 @@ pub(crate) struct CheckStep<'a> { #[derive(Debug)] pub(crate) struct BuildStep<'a> { + #[allow(dead_code)] pub index: NodeIndex, pub repo_ctx: &'a RepoContext, pub plan_ctx: &'a PlanContext, @@ -274,6 +276,7 @@ pub(crate) enum PlanCheckStatus { Vec, Vec, ), + #[allow(dead_code)] ArtifactNotFound, } @@ -306,6 +309,7 @@ pub(crate) enum DownloadError { #[error("Sources for plan {0} is corrupt")] CorruptedSource(PlanContextID), #[error("Encountered an unexpected error while trying to download the package sources")] + #[allow(clippy::enum_variant_names)] UnexpectedDownloadError(#[source] PackageSourceDownloadError), #[error("Encountered an unexpected io error while trying to download the package sources")] UnexpectedIOError(#[source] std::io::Error), @@ -631,7 +635,7 @@ impl AutoBuildContext { let checker = Checker::new(); checker.source_context_check_with_plan( &plan_ctx.config(), - &plan_ctx, + plan_ctx, &source_ctx, ) } else { @@ -683,7 +687,7 @@ impl AutoBuildContext { let checker = Checker::new(); checker.source_context_check_with_plan( &plan_ctx.config(), - &plan_ctx, + plan_ctx, &source_ctx, ) } else { @@ -712,7 +716,7 @@ impl AutoBuildContext { invalid_source_archive_path, )) } - Err(err) => return Err(DownloadError::UnexpectedDownloadError(err)), + Err(err) => Err(DownloadError::UnexpectedDownloadError(err)), } } else { Ok(DownloadStatus::MissingSource(plan_ctx.clone())) @@ -837,6 +841,7 @@ impl AutoBuildContext { .collect() } + #[allow(dead_code)] pub fn get_plan_contexts(&self, package: &PackageDepIdent) -> Vec<&PlanContext> { self.dep_graph .get_plan_nodes(package) @@ -867,7 +872,7 @@ impl AutoBuildContext { match self.dep_graph.dep_mut(*plan_node_index) { Dependency::ResolvedDep(_) | Dependency::RemoteDep(_) => {} Dependency::LocalPlan(ref mut plan_ctx) => { - let causes = plan_node_changes.get(&plan_node_index); + let causes = plan_node_changes.get(plan_node_index); if causes.is_none() { let latest_plan_artifact = artifact_cache .latest_plan_minimal_artifact(&plan_ctx.id) @@ -917,7 +922,7 @@ impl AutoBuildContext { BuildOrder::Strict, build_target, ); - let causes = plan_node_changes.get(&plan_node_index); + let causes = plan_node_changes.get(plan_node_index); causes.is_some() }) } @@ -977,7 +982,7 @@ impl AutoBuildContext { match self.dep_graph.dep_mut(*plan_node_index) { Dependency::ResolvedDep(_) | Dependency::RemoteDep(_) => {} Dependency::LocalPlan(ref mut plan_ctx) => { - let causes = plan_node_changes.get(&plan_node_index); + let causes = plan_node_changes.get(plan_node_index); if let Some(causes) = causes { let mut blocking_causes = Vec::new(); for cause in causes { @@ -1044,7 +1049,7 @@ impl AutoBuildContext { BuildOrder::Strict, build_target, ); - let causes = plan_node_changes.get(&plan_node_index); + let causes = plan_node_changes.get(plan_node_index); causes.is_none() }) } @@ -1090,7 +1095,7 @@ impl AutoBuildContext { |_edge_index, edge| Some(*edge), ); } - let node_indices = changes_graph.node_indices().into_iter().collect::>(); + let node_indices = changes_graph.node_indices().collect::>(); let mut check_deps = self.dep_graph.get_deps( &node_indices, vec![ @@ -1290,19 +1295,19 @@ impl AutoBuildContext { let build_output = { match build_step.studio { BuildStepStudio::Native => { - habitat::native_package_build(&build_step, &artifact_cache, &self.store)? + habitat::native_package_build(build_step, &artifact_cache, &self.store)? } BuildStepStudio::Bootstrap => { - habitat::bootstrap_package_build(&build_step, &artifact_cache, &self.store, 1)? + habitat::bootstrap_package_build(build_step, &artifact_cache, &self.store, 1)? } BuildStepStudio::Standard => { - habitat::standard_package_build(&build_step, &artifact_cache, &self.store, 1)? + habitat::standard_package_build(build_step, &artifact_cache, &self.store, 1)? } } }; // Add the artifact to the cache let artifact_ident = artifact_cache.artifact_add( - (&self.store).into(), + &self.store, LazyArtifactContext::Loaded(build_output.artifact), )?; let artifact_ctx = artifact_cache.artifact(&artifact_ident)?.unwrap(); diff --git a/src/core/dep_graph.rs b/src/core/dep_graph.rs index f671eca..c85398c 100644 --- a/src/core/dep_graph.rs +++ b/src/core/dep_graph.rs @@ -211,6 +211,7 @@ impl From<&DepGraph> for DepGraphData { pub(crate) struct DepGraph { pub build_graph: StableGraph, + #[allow(dead_code)] pub known_versions: PackageVersionList, } @@ -301,11 +302,9 @@ impl DepGraph { .get(&PackageBuildVersion::Static(version.to_owned())) .and_then(|v| v.get(release)), // Get the last version, last release - (PackageVersion::Unresolved, PackageRelease::Unresolved) => v - .values() - .rev() - .next() - .and_then(|v| v.values().rev().next()), + (PackageVersion::Unresolved, PackageRelease::Unresolved) => { + v.values().next_back().and_then(|v| v.values().next_back()) + } // This is impossible to reach (PackageVersion::Unresolved, PackageRelease::Resolved(_)) => { panic!("Invalid package dependency: '{}'", plan_dep) @@ -339,13 +338,11 @@ impl DepGraph { for feedback_edge in feedback_edges.iter() { if ignore_cycles { build_graph.remove_edge(*feedback_edge); - } else { - if let Some((start, end)) = build_graph.edge_endpoints(*feedback_edge) { - error!(target: "user-log", - "Build dependency {:?} depends on {:?} which creates a cycle", - build_graph[start], build_graph[end] - ); - } + } else if let Some((start, end)) = build_graph.edge_endpoints(*feedback_edge) { + error!(target: "user-log", + "Build dependency {:?} depends on {:?} which creates a cycle", + build_graph[start], build_graph[end] + ); } } @@ -366,11 +363,7 @@ impl DepGraph { HashMap::new(); let mut bootstrap_build_studio_tdeps: HashMap> = HashMap::new(); - let dep_node_indices = dep_graph - .build_graph - .node_indices() - .into_iter() - .collect::>(); + let dep_node_indices = dep_graph.build_graph.node_indices().collect::>(); for dep_node_index in dep_node_indices { let dep_target = dep_graph.build_graph[dep_node_index].target(); let standard_build_studio_node_index = resolved_standard_build_studios @@ -543,6 +536,7 @@ impl DepGraph { &mut self.build_graph[node_index] } + #[allow(dead_code)] pub fn deps<'a>( &self, node_indices: impl IntoIterator, @@ -553,6 +547,7 @@ impl DepGraph { .collect() } + #[allow(dead_code)] pub fn get_dep_nodes(&self, dep_ident: &PackageDepIdent) -> Vec { let mut dep_nodes = Vec::new(); for (node_index, node) in self.build_graph.node_references() { @@ -584,7 +579,7 @@ impl DepGraph { Dependency::ResolvedDep(_) | Dependency::RemoteDep(_) => None, Dependency::LocalPlan(plan_ctx) => { if plan_ctx.id.as_ref().satisfies_dependency(dep_ident) { - return Some(node_index); + Some(node_index) } else { None } @@ -734,8 +729,7 @@ impl DepGraph { // Get build_rdeps of changed dependencies let mut affected_node_indices = HashSet::new(); let mut changed_node_indices = changed_dep_causes.keys().cloned().collect::>(); - while !changed_node_indices.is_empty() { - let changed_node_index = changed_node_indices.pop().unwrap(); + while let Some(changed_node_index) = changed_node_indices.pop() { affected_node_indices.insert(changed_node_index); for (rev_dep_node_index, rev_dep_node_type) in self .build_graph @@ -748,42 +742,36 @@ impl DepGraph { } let rev_dep_causes = changed_dep_causes.entry(rev_dep_node_index).or_default(); if let DependencyType::Studio = rev_dep_node_type { - if rev_dep_causes - .iter_mut() - .find(|c| { - matches!(c, DependencyChangeCause::DependencyStudioNeedRebuild { .. }) - }) - .is_none() - { + if !rev_dep_causes.iter_mut().any(|c| { + matches!(c, DependencyChangeCause::DependencyStudioNeedRebuild { .. }) + }) { let plan_ctx = self.build_graph[changed_node_index].plan_ctx().unwrap(); rev_dep_causes.push(DependencyChangeCause::DependencyStudioNeedRebuild { plan: plan_ctx.id.clone(), }) } + } else if let Some(DependencyChangeCause::DependencyPlansNeedRebuild { plans }) = + rev_dep_causes.iter_mut().find(|c| { + matches!(c, DependencyChangeCause::DependencyPlansNeedRebuild { .. }) + }) + { + let plan_ctx = self.build_graph[changed_node_index].plan_ctx().unwrap(); + plans.insert(( + *rev_dep_node_type, + plan_ctx.id.clone(), + plan_ctx.plan_path.to_owned(), + )); } else { - if let Some(DependencyChangeCause::DependencyPlansNeedRebuild { plans }) = - rev_dep_causes.iter_mut().find(|c| { - matches!(c, DependencyChangeCause::DependencyPlansNeedRebuild { .. }) - }) - { - let plan_ctx = self.build_graph[changed_node_index].plan_ctx().unwrap(); - plans.insert(( + let plan_ctx = self.build_graph[changed_node_index].plan_ctx().unwrap(); + rev_dep_causes.push(DependencyChangeCause::DependencyPlansNeedRebuild { + plans: vec![( *rev_dep_node_type, plan_ctx.id.clone(), plan_ctx.plan_path.to_owned(), - )); - } else { - let plan_ctx = self.build_graph[changed_node_index].plan_ctx().unwrap(); - rev_dep_causes.push(DependencyChangeCause::DependencyPlansNeedRebuild { - plans: vec![( - *rev_dep_node_type, - plan_ctx.id.clone(), - plan_ctx.plan_path.to_owned(), - )] - .into_iter() - .collect(), - }) - } + )] + .into_iter() + .collect(), + }) } } } @@ -848,17 +836,14 @@ impl DepGraph { } DependencyDepth::Transitive => { let mut nodes_to_skip = node_indices.len(); - while !node_indices.is_empty() { - let node_index = node_indices.pop().unwrap(); + while let Some(node_index) = node_indices.pop() { if include_start_nodes { node_all_deps.insert(node_index); } else { if nodes_to_skip == 0 { node_all_deps.insert(node_index); } - if nodes_to_skip > 0 { - nodes_to_skip -= 1; - } + nodes_to_skip = nodes_to_skip.saturating_sub(1); } for dep_node_index in self .build_graph @@ -900,7 +885,7 @@ impl DepGraph { .collect::>(), } } else { - dep_graph.node_indices().into_iter().collect::>() + dep_graph.node_indices().collect::>() } } } diff --git a/src/core/download.rs b/src/core/download.rs index 3933f27..c59e923 100644 --- a/src/core/download.rs +++ b/src/core/download.rs @@ -164,9 +164,7 @@ impl Download { // Test if the server responds correctly to range requests let mut request = reqwest::blocking::Request::new(Method::GET, url.clone()); - request - .headers_mut() - .extend(base_headers.clone().into_iter()); + request.headers_mut().extend(base_headers.clone()); request .headers_mut() .insert(header::RANGE, "bytes=0-0".parse().unwrap()); @@ -218,9 +216,8 @@ impl Download { .parse() .unwrap(), ); - let mut file_range_res = - Download::execute_request(&client, request) - .expect("Failed to send request to download file"); + let mut file_range_res = Download::execute_request(client, request) + .expect("Failed to send request to download file"); for _ in 0..buffer_chunks { let mut buffer = vec![0u8; *DOWNLOAD_MEMORY_BUFFER as usize]; let range = file_range_res.by_ref(); @@ -256,7 +253,7 @@ impl Download { let start = Instant::now(); debug!("Starting single-threaded download of file from {}", url); let mut request = reqwest::blocking::Request::new(Method::GET, url.clone()); - request.headers_mut().extend(base_headers.into_iter()); + request.headers_mut().extend(base_headers); let response = Download::execute_request(&client, request)?; let mut file = File::create(self.filename)?; file.write_all(&response.bytes()?)?; diff --git a/src/core/fs.rs b/src/core/fs.rs index 2a79477..2b6bfe3 100644 --- a/src/core/fs.rs +++ b/src/core/fs.rs @@ -62,7 +62,8 @@ impl FileKind { .unwrap_or("unknown"), ) } - pub fn detect_from_reader<'a>(mut reader: impl Read) -> FileKind { + + pub fn detect_from_reader(mut reader: impl Read) -> FileKind { let mut buffer = [0u8; 1024]; let mut data = Vec::new(); while let Ok(n) = reader.read(&mut buffer) { @@ -185,26 +186,17 @@ impl AsRef for HabitatRootPath { pub mod file_types { pub fn script_matcher(buf: &[u8]) -> bool { - return buf.len() >= 2 && buf[0] == 0x23 && buf[1] == 0x21; + buf.len() >= 2 && buf[0] == 0x23 && buf[1] == 0x21 } } -#[derive(Debug, Serialize, Deserialize, Clone)] +#[derive(Debug, Default, Serialize, Deserialize, Clone)] #[serde(try_from = "Vec", into = "Vec")] pub struct GlobSetExpression { pub patterns: Vec, globset: globset::GlobSet, } -impl Default for GlobSetExpression { - fn default() -> Self { - Self { - patterns: Default::default(), - globset: Default::default(), - } - } -} - impl GlobSetExpression { pub fn is_match(&self, path: impl AsRef) -> bool { self.globset.is_match(path) @@ -226,9 +218,9 @@ impl TryFrom> for GlobSetExpression { } } -impl Into> for GlobSetExpression { - fn into(self) -> Vec { - self.patterns +impl From for Vec { + fn from(val: GlobSetExpression) -> Self { + val.patterns } } diff --git a/src/core/habitat.rs b/src/core/habitat.rs index e24a1dc..a52c037 100644 --- a/src/core/habitat.rs +++ b/src/core/habitat.rs @@ -38,7 +38,7 @@ lazy_static! { ); let sdk_libs_path = sdk_path.join("usr").join("lib"); let mut system_libs = Vec::new(); - for entry in std::fs::read_dir(&sdk_libs_path).unwrap() { + for entry in std::fs::read_dir(sdk_libs_path).unwrap() { let entry = entry.unwrap(); let path = entry.path(); if let Some(extension) = path.extension() { @@ -61,6 +61,7 @@ lazy_static! { static ref HAB_BINARY: PathBuf = which("hab").expect("Failed to find hab binary in environment"); } + const MACOS_CPU_TYPE: u32 = 16777228; const MACOS_CPU_SUBTYPE: u32 = 2; const SANDBOX_DEFAULTS: &str = include_str!("../scripts/sandbox-defaults.sb"); @@ -108,7 +109,7 @@ fn copy_source_to_cache( source_cache_folder.as_ref().display() ) })?; - let store_archive = store.package_source_store_path(&source).archive_data_path(); + let store_archive = store.package_source_store_path(source).archive_data_path(); let source_cache_path = source_cache_folder.as_ref().join(source.url.filename()?); if !source_cache_path.exists() { trace!( @@ -155,7 +156,6 @@ fn copy_build_success_output( })?; let artifact_name = last_build .lines() - .into_iter() .filter_map(|l| l.strip_prefix("pkg_artifact=")) .next() .unwrap() @@ -225,12 +225,11 @@ fn copy_build_failure_output( }) { Ok(pre_build) => pre_build .lines() - .into_iter() .filter_map(|l| l.strip_prefix("pkg_ident=")) .next() .unwrap() .trim() - .replace("/", "-"), + .replace('/', "-"), Err(err) => { debug!("Failed to find pre_build file: {:#}", err); let build_id = build_step.plan_ctx.id.as_ref(); @@ -308,7 +307,7 @@ pub(crate) fn native_package_build( ) })?; - let build_log_path = tmp_dir.path().join(format!("build.log")); + let build_log_path = tmp_dir.path().join("build.log"); let build_log = std::fs::File::create(&build_log_path).with_context(|| { format!( "Failed to create build log at '{}'", @@ -569,7 +568,7 @@ fn build_sandbox_profile(tmp_dir: impl AsRef) -> Result { #[cfg(target_os = "macos")] pub(crate) fn native_package_build( build_step: &BuildStep, - artifact_cache: &ArtifactCache, + _artifact_cache: &ArtifactCache, store: &Store, ) -> Result { let tmp_path = store.temp_dir_path(); @@ -581,7 +580,7 @@ pub(crate) fn native_package_build( ) })?; - let build_log_path = tmp_dir.path().join(format!("build.log")); + let build_log_path = tmp_dir.path().join("build.log"); let build_log = std::fs::File::create(&build_log_path).with_context(|| { format!( "Failed to create build log at '{}'", @@ -597,7 +596,6 @@ pub(crate) fn native_package_build( .unwrap(); let mut cmd; - let mut exit_status; debug!( "Starting build of native package {}, logging output to {}", @@ -648,7 +646,7 @@ pub(crate) fn native_package_build( cmd = cmd.env("HAB_BLDR_URL", "https://non-existent"); } trace!("Executing command: {:?}", cmd); - exit_status = cmd.join()?; + let exit_status = cmd.join()?; if exit_status.success() { let (artifact_path, build_log_path) = @@ -689,7 +687,7 @@ pub(crate) fn bootstrap_package_build( tmp_path.as_ref().display() ) })?; - let build_log_path = tmp_dir.path().join(format!("build.log")); + let build_log_path = tmp_dir.path().join("build.log".to_string()); let build_log = std::fs::File::create(&build_log_path).with_context(|| { format!( "Failed to create build log at '{}'", @@ -870,8 +868,8 @@ pub(crate) fn bootstrap_package_build( tmp_path.as_ref().display() ) })?; - let build_log_path = tmp_dir.path().join(format!("build.log")); - let build_log = std::fs::File::create(&build_log_path).with_context(|| { + let build_log_path = tmp_dir.path().join("build.log"); + let _build_log = std::fs::File::create(&build_log_path).with_context(|| { format!( "Failed to create build log at '{}'", build_log_path.display() @@ -985,7 +983,7 @@ pub(crate) fn bootstrap_package_build( let exit_status = cmd.join()?; if exit_status.success() { let (artifact_path, build_log_path) = - copy_build_success_output(store, build_step, &build_log_path, &build_output_dir)?; + copy_build_success_output(store, build_step, &build_log_path, build_output_dir)?; Ok(BuildOutput { artifact: ArtifactContext::read_from_disk(artifact_path.as_path(), None).with_context( || { @@ -999,7 +997,7 @@ pub(crate) fn bootstrap_package_build( }) } else { let build_log_path = - copy_build_failure_output(store, build_step, &build_log_path, &build_output_dir)?; + copy_build_failure_output(store, build_step, &build_log_path, build_output_dir)?; Err(BuildError::Bootstrap( build_step.plan_ctx.id.clone(), build_log_path, @@ -1021,7 +1019,7 @@ pub(crate) fn standard_package_build( tmp_path.as_ref().display() ) })?; - let build_log_path = tmp_dir.path().join(format!("build.log")); + let build_log_path = tmp_dir.path().join("build.log"); let build_log = std::fs::File::create(&build_log_path).with_context(|| { format!( "Failed to create build log at '{}'", diff --git a/src/core/mod.rs b/src/core/mod.rs index 3ad51be..08a6c10 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -12,15 +12,20 @@ mod plan; mod repo; mod source; +#[allow(unused_imports)] pub use archive::*; +#[allow(unused_imports)] pub use artifact::*; pub use auto_build::*; pub use crypto_hash::*; +#[allow(unused_imports)] pub use dep_graph::*; pub use download::*; pub use fs::*; pub use package::*; pub use package_source::*; +#[allow(unused_imports)] pub use plan::*; pub use repo::*; +#[allow(unused_imports)] pub use source::*; diff --git a/src/core/package.rs b/src/core/package.rs index 9a19065..0bb9229 100644 --- a/src/core/package.rs +++ b/src/core/package.rs @@ -758,7 +758,7 @@ impl PackageDepGlob { if version.is_empty() { return Err(eyre!("Package version pattern is empty")); } - if let Err(err) = Glob::new(&version) { + if let Err(err) = Glob::new(version) { return Err(eyre!("Package version pattern is invalid: {}", err)); } } @@ -767,7 +767,7 @@ impl PackageDepGlob { if release.is_empty() { return Err(eyre!("Package release pattern is empty")); } - if let Err(err) = Glob::new(&release) { + if let Err(err) = Glob::new(release) { return Err(eyre!("Package release pattern is invalid: {}", err)); } } diff --git a/src/core/plan.rs b/src/core/plan.rs index 902152c..f744f74 100644 --- a/src/core/plan.rs +++ b/src/core/plan.rs @@ -28,10 +28,9 @@ use crate::{ }; use super::{ - ArtifactCache, ArtifactContext, ChangeDetectionMode, Metadata, MinimalArtifactContext, - PackageBuildIdent, PackageBuildVersion, PackageDepIdent, PackageIdent, PackageName, - PackageOrigin, PackageResolvedDepIdent, PackageSource, PackageTarget, RepoContext, - RepoContextID, + ArtifactCache, ChangeDetectionMode, Metadata, MinimalArtifactContext, PackageBuildIdent, + PackageBuildVersion, PackageDepIdent, PackageIdent, PackageName, PackageOrigin, + PackageResolvedDepIdent, PackageSource, PackageTarget, RepoContext, RepoContextID, }; lazy_static! { @@ -222,6 +221,7 @@ pub(crate) enum PlanContextPathGitSyncStatus { } impl PlanContext { + #[allow(clippy::too_many_arguments)] pub fn read_from_disk( connection: Option<&mut SqliteConnection>, modification_index: Option<&ModificationIndex>, @@ -300,7 +300,7 @@ impl PlanContext { let mut plan_ctx = PlanContext { id, repo_id: repo_ctx.id.clone(), - is_native: repo_ctx.is_native_plan(&plan_ctx_path), + is_native: repo_ctx.is_native_plan(plan_ctx_path), context_path: plan_ctx_path.clone(), target_context_last_modified_at: plan_target_ctx_path.last_modifed_at()?, target_context_path: plan_target_ctx_path.clone(), @@ -315,7 +315,7 @@ impl PlanContext { build_deps: raw_data .build_deps .into_iter() - .chain(raw_data.scaffolding_dep.into_iter()) + .chain(raw_data.scaffolding_dep) .map(|d| d.to_resolved_dep_ident(target.to_owned())) .collect(), latest_artifact: None, diff --git a/src/core/source.rs b/src/core/source.rs index 180bf9a..4e8475b 100644 --- a/src/core/source.rs +++ b/src/core/source.rs @@ -104,7 +104,7 @@ impl SourceContext { let file_type = FileKind::detect_from_path(path.as_ref())?; let file = BufReader::new(File::open(path.as_ref())?); let format; - let mut licenses; + let licenses; match file_type { FileKind::Tar => { format = (file_type, None); @@ -143,7 +143,7 @@ impl SourceContext { licenses = SourceContext::read_licenses_from_archive(Archive::new(decoder))?; } _ => { - format = (file_type, None); + // format = (file_type, None); todo!() } }, @@ -158,7 +158,7 @@ impl SourceContext { format = (file_type, Some(FileKind::Tar)); licenses = SourceContext::read_licenses_from_archive(Archive::new(decoder))?; } else { - format = (file_type, None); + // format = (file_type, None); todo!() } } @@ -186,7 +186,7 @@ impl SourceContext { R: Read, { let start = Instant::now(); - let strategy = ScanStrategy::new(&*LICENSE_STORE) + let strategy = ScanStrategy::new(&LICENSE_STORE) .confidence_threshold(0.8) .mode(ScanMode::TopDown) .shallow_limit(0.98) diff --git a/src/store/mod.rs b/src/store/mod.rs index 8eacc10..3047d9f 100644 --- a/src/store/mod.rs +++ b/src/store/mod.rs @@ -27,7 +27,7 @@ use diesel::{ use diesel_migrations::{embed_migrations, EmbeddedMigrations, MigrationHarness}; use lazy_static::__Deref; use tempdir::TempDir; -use tracing::{debug, trace}; +use tracing::trace; pub const MIGRATIONS: EmbeddedMigrations = embed_migrations!("migrations"); pub const TIMESTAMP_FORMAT: &str = "%Y-%m-%dT%H:%M:%S%.9f"; @@ -218,9 +218,9 @@ impl Store { } } -pub(crate) struct ModificationIndex( - HashMap, DateTime)>>, -); +type PathMap = HashMap, DateTime)>; + +pub(crate) struct ModificationIndex(HashMap); impl ModificationIndex { pub(crate) fn file_alternate_modified_at_get( @@ -246,8 +246,7 @@ pub(crate) fn files_alternate_modified_at_get_full_index( connection: &mut SqliteConnection, ) -> Result { use crate::store::schema::file_modifications::dsl::*; - let mut results: HashMap, DateTime)>> = - HashMap::new(); + let mut results: HashMap = HashMap::new(); let rows = file_modifications.load::(connection)?; for row in rows { results @@ -406,6 +405,7 @@ pub(crate) fn file_alternate_modified_at_get( Ok(None) } } + pub(crate) fn file_alternate_modified_at_put( connection: &mut SqliteConnection, plan_context_path_value: &PlanContextPath, @@ -430,10 +430,11 @@ pub(crate) fn file_alternate_modified_at_put( .execute(connection)?; Ok(()) } + pub(crate) fn plan_context_alternate_modified_at_delete( connection: &mut SqliteConnection, plan_context_path_value: &PlanContextPath, -) -> Result, DateTime)>>> { +) -> Result> { use crate::store::schema::file_modifications::dsl::*; let existing_file_modifications = file_modifications .filter(plan_context_path.eq(plan_context_path_value.as_ref().to_str().unwrap())) From cc1b5436a1f63102477468e672efa904c03f3b0c Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 19 Apr 2024 13:10:38 +0530 Subject: [PATCH 05/13] more clippy fix Signed-off-by: Phani Sajja --- src/check/artifact/elf.rs | 31 +++++++++++++++---------------- src/check/mod.rs | 10 +++++----- src/core/habitat.rs | 18 ++++++++++-------- 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/check/artifact/elf.rs b/src/check/artifact/elf.rs index 3b12eb3..6e2f9a0 100644 --- a/src/check/artifact/elf.rs +++ b/src/check/artifact/elf.rs @@ -695,7 +695,7 @@ pub(crate) struct ElfCheck {} impl ArtifactCheck for ElfCheck { fn artifact_context_check( &self, - store: &Store, + _store: &Store, rules: &PlanContextConfig, checker_context: &mut CheckerContext, _artifact_cache: &mut ArtifactCache, @@ -911,22 +911,21 @@ impl ArtifactCheck for ElfCheck { let mut interpreter_name = None; if let Some(interpreter_path) = metadata.interpreter.as_ref() { - if !metadata.is_executable { - if !unexpected_elf_interpreter_options + if !metadata.is_executable + && !unexpected_elf_interpreter_options .ignored_files .is_match(path.relative_package_path().unwrap()) - { - if let Some(interpreter_path) = metadata.interpreter.as_ref() { - violations.push(LeveledArtifactCheckViolation { - level: unexpected_elf_interpreter_options.level, - violation: ArtifactCheckViolation::Elf( - ElfRule::UnexpectedELFInterpreter(UnexpectedELFInterpreter { - source: path.clone(), - interpreter: interpreter_path.to_path_buf(), - }), - ), - }); - } + { + if let Some(interpreter_path) = metadata.interpreter.as_ref() { + violations.push(LeveledArtifactCheckViolation { + level: unexpected_elf_interpreter_options.level, + violation: ArtifactCheckViolation::Elf( + ElfRule::UnexpectedELFInterpreter(UnexpectedELFInterpreter { + source: path.clone(), + interpreter: interpreter_path.to_path_buf(), + }), + ), + }); } } if let Some(file_name) = interpreter_path.file_name().and_then(|x| x.to_str()) { @@ -1055,7 +1054,7 @@ impl ArtifactCheck for ElfCheck { .map(|p| p.absolutize()) .collect::, _>>() .unwrap(); - let interpreter_search_dir = metadata.interpreter.as_ref().map_or(None, |p| { + let interpreter_search_dir = metadata.interpreter.as_ref().and_then(|p| { if p.is_package_path() { p.parent().map(|p| p.to_path_buf()) } else { diff --git a/src/check/mod.rs b/src/check/mod.rs index 0826a56..1458354 100644 --- a/src/check/mod.rs +++ b/src/check/mod.rs @@ -585,12 +585,12 @@ impl Checker { #[cfg(target_os = "linux")] pub fn new() -> Checker { Checker { - source_checks: vec![Box::new(LicenseCheck::default())], + source_checks: vec![Box::::default()], artifact_checks: vec![ - Box::new(PackageBeforeCheck::default()), - Box::new(ElfCheck::default()), - Box::new(ScriptCheck::default()), - Box::new(PackageAfterCheck::default()), + Box::::default(), + Box::::default(), + Box::::default(), + Box::::default(), ], } } diff --git a/src/core/habitat.rs b/src/core/habitat.rs index a52c037..8f9cf7c 100644 --- a/src/core/habitat.rs +++ b/src/core/habitat.rs @@ -62,8 +62,11 @@ lazy_static! { which("hab").expect("Failed to find hab binary in environment"); } +#[allow(dead_code)] const MACOS_CPU_TYPE: u32 = 16777228; +#[allow(dead_code)] const MACOS_CPU_SUBTYPE: u32 = 2; +#[allow(dead_code)] const SANDBOX_DEFAULTS: &str = include_str!("../scripts/sandbox-defaults.sb"); pub(crate) fn install_artifact_offline(package_ident: &PackageIdent) -> Result<()> { @@ -364,7 +367,7 @@ pub(crate) fn native_package_build( )); if let Some(source) = &build_step.plan_ctx.source { let source_cache_folder = HabitatRootPath::default().source_cache(); - let store_archive = store.package_source_store_path(&source).archive_data_path(); + let store_archive = store.package_source_store_path(source).archive_data_path(); let source_cache_path = source_cache_folder.as_ref().join(source.url.filename()?); cmd = cmd.arg("-v").arg(format!( "{}:{}", @@ -381,9 +384,9 @@ pub(crate) fn native_package_build( .arg("-v") .arg(format!("{}:/output", build_output_dir.display())) .arg("-v") - .arg(format!("/hab/cache/artifacts:/hab/cache/artifacts")) + .arg("/hab/cache/artifacts:/hab/cache/artifacts") .arg("-v") - .arg(format!("/hab/cache/keys:/hab/cache/keys")) + .arg("/hab/cache/keys:/hab/cache/keys") .arg("--workdir") .arg("/src") .arg("-e") @@ -402,10 +405,7 @@ pub(crate) fn native_package_build( build_step.plan_ctx.id.as_ref().origin )) .arg("-e") - .arg(format!( - "BUILD_PKG_TARGET={}", - PackageTarget::default().to_string() - )) + .arg(format!("BUILD_PKG_TARGET={}", PackageTarget::default())) .arg(docker_image) .arg("build") .arg(relative_plan_context) @@ -477,6 +477,7 @@ pub(crate) fn native_package_build( } } +#[allow(dead_code)] fn compute_binary_impurities(binary_path: impl AsRef) -> Result> { let mut impure_paths = BTreeSet::new(); let mut unvisted_paths = VecDeque::new(); @@ -537,6 +538,7 @@ fn compute_binary_impurities(binary_path: impl AsRef) -> Result) -> Result { let sandbox_profile_path = tmp_dir.as_ref().join("sandbox-profile.sb"); let mut sandbox_profile = String::new(); @@ -687,7 +689,7 @@ pub(crate) fn bootstrap_package_build( tmp_path.as_ref().display() ) })?; - let build_log_path = tmp_dir.path().join("build.log".to_string()); + let build_log_path = tmp_dir.path().join("build.log"); let build_log = std::fs::File::create(&build_log_path).with_context(|| { format!( "Failed to create build log at '{}'", From fb57e4a81079d811ad5edd6cb12ce25cc5f4a7af Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Mon, 22 Apr 2024 14:16:29 +0530 Subject: [PATCH 06/13] cargo update Signed-off-by: Phani Sajja --- Cargo.lock | 1175 ++++++++++++++++++++++-------------------- src/core/artifact.rs | 4 +- src/core/fs.rs | 12 +- src/core/plan.rs | 8 +- src/store/mod.rs | 10 +- 5 files changed, 622 insertions(+), 587 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 97c2176..e4ecce4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -43,58 +43,57 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.2" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" [[package]] name = "arrayref" @@ -129,26 +128,26 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.72" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "axum" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a1de45611fdb535bfde7b7de4fd54f4fd2b17b1737c0a59b69bf9b92074b8c" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core", @@ -195,9 +194,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -210,9 +209,9 @@ dependencies = [ [[package]] name = "base64" -version = "0.21.2" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bitflags" @@ -222,22 +221,21 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "blake3" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", - "digest", "rayon", ] @@ -252,9 +250,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.6.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", "serde", @@ -262,21 +260,21 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "bzip2" @@ -301,11 +299,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" dependencies = [ "jobserver", + "libc", + "once_cell", ] [[package]] @@ -327,18 +327,17 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", - "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.52.5", ] [[package]] @@ -352,9 +351,9 @@ dependencies = [ [[package]] name = "chrono-tz" -version = "0.6.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c39203181991a7dd4343b8005bd804e7a9a37afb8ac070e43771e8c820bbde" +checksum = "d59ae0466b83e838b81a54256c39d5d7c20b9d7daa10510a242d9b75abd5936e" dependencies = [ "chrono", "chrono-tz-build", @@ -363,9 +362,9 @@ dependencies = [ [[package]] name = "chrono-tz-build" -version = "0.0.3" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f509c3a87b33437b05e2458750a0700e5bdd6956176773e6c7d6dd15a283a0c" +checksum = "433e39f13c9a060046954e0592a8d0a4bcb1040125cbf91cb8ee58964cfb350f" dependencies = [ "parse-zoneinfo", "phf", @@ -374,20 +373,19 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.19" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.19" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", @@ -397,27 +395,27 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.3.12" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "clap_lex" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "color-eyre" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" dependencies = [ "backtrace", "eyre", @@ -440,9 +438,9 @@ checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -450,70 +448,52 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", - "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crypto-common" @@ -525,34 +505,43 @@ dependencies = [ "typenum", ] +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + [[package]] name = "deunicode" -version = "0.4.3" +version = "1.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" +checksum = "322ef0094744e63628e6f0eb2295517f79276a5b342a4c2ff3042566ca181d4e" [[package]] name = "diesel" -version = "2.1.0" +version = "2.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7a532c1f99a0f596f6960a60d1e119e91582b24b39e2d83a190e61262c3ef0c" +checksum = "ff236accb9a5069572099f0b350a92e9560e8e63a9b8d546162f4a5e03026bb2" dependencies = [ "diesel_derives", "libsqlite3-sys", "r2d2", - "time 0.3.23", + "time", ] [[package]] name = "diesel_derives" -version = "2.1.0" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74398b79d81e52e130d991afeed9c86034bb1b7735f46d2f5bf7deb261d80303" +checksum = "14701062d6bed917b5c7103bdffaee1e4609279e240488ad24e7bd979ca6866c" dependencies = [ "diesel_table_macro_syntax", "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] @@ -572,7 +561,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" dependencies = [ - "syn 2.0.27", + "syn", ] [[package]] @@ -583,7 +572,6 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", - "subtle", ] [[package]] @@ -608,9 +596,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "emoji-printer" @@ -623,9 +611,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] @@ -638,30 +626,19 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "cc", "libc", + "windows-sys 0.52.0", ] [[package]] name = "eyre" -version = "0.6.8" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ "indenter", "once_cell", @@ -669,20 +646,20 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", - "windows-sys", + "redox_syscall", + "windows-sys 0.52.0", ] [[package]] @@ -693,9 +670,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -724,9 +701,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -739,42 +716,42 @@ checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-core", "futures-io", @@ -797,32 +774,32 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "globset" -version = "0.4.11" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -849,9 +826,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.20" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -859,7 +836,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap", "slab", "tokio", "tokio-util", @@ -925,33 +902,36 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] -name = "hashbrown" -version = "0.14.0" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] -name = "heck" -version = "0.4.1" +name = "hermit-abi" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] -name = "hermit-abi" -version = "0.3.2" +name = "home" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] [[package]] name = "http" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -960,9 +940,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -977,21 +957,24 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humansize" -version = "1.1.1" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -1026,16 +1009,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -1049,9 +1032,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1059,17 +1042,16 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" dependencies = [ + "crossbeam-deque", "globset", - "lazy_static", "log", "memchr", - "regex", + "regex-automata 0.4.6", "same-file", - "thread_local", "walkdir", "winapi-util", ] @@ -1082,22 +1064,12 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.0.0" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown", ] [[package]] @@ -1117,56 +1089,45 @@ checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ "hermit-abi", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-root" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04a4202a60e86f1c9702706bb42270dadd333f2db7810157563c86f17af3c873" +checksum = "9df98242b01855f02bede53e1c2c90411af31b71d744936272cb21ab3a77ee9e" dependencies = [ "users", "winapi", ] -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix 0.38.4", - "windows-sys", -] - [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "685a7d121ee3f65ae4fddd72b25a04bb36b6af81bc0828f7d5434c0fe60fa3a2" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -1183,9 +1144,9 @@ dependencies = [ [[package]] name = "lazy-regex" -version = "2.5.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff63c423c68ea6814b7da9e88ce585f793c87ddd9e78f646970891769c8235d4" +checksum = "5d12be4595afdf58bd19e4a9f4e24187da2a66700786ff660a418e9059937a4c" dependencies = [ "lazy-regex-proc_macros", "once_cell", @@ -1194,14 +1155,14 @@ dependencies = [ [[package]] name = "lazy-regex-proc_macros" -version = "2.4.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8edfc11b8f56ce85e207e62ea21557cfa09bb24a8f6b04ae181b086ff8611c22" +checksum = "44bcd58e6c97a7fcbaffcdc95728b393b8d98933bfadad49ed4097845b57ef0b" dependencies = [ "proc-macro2", "quote", "regex", - "syn 1.0.109", + "syn", ] [[package]] @@ -1212,9 +1173,25 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] [[package]] name = "libsqlite3-sys" @@ -1235,15 +1212,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.3" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -1251,9 +1228,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "lzma-sys" @@ -1277,24 +1254,15 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "migrations_internals" @@ -1335,22 +1303,22 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "wasi", + "windows-sys 0.48.0", ] [[package]] @@ -1381,11 +1349,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -1402,26 +1376,26 @@ dependencies = [ [[package]] name = "object" -version = "0.31.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "cfg-if", "foreign-types", "libc", @@ -1438,7 +1412,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] @@ -1449,18 +1423,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.26.0+1.1.1u" +version = "300.2.3+3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37" +checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", @@ -1493,15 +1467,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -1521,43 +1495,44 @@ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "path-absolutize" -version = "3.1.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43eb3595c63a214e1b37b44f44b0a84900ef7ae0b4c5efce59e123d246d7a0de" +checksum = "e4af381fe79fa195b4909485d99f73a80792331df0625188e707854f0b3383f5" dependencies = [ "path-dedot", ] [[package]] name = "path-dedot" -version = "3.1.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d55e486337acb9973cdea3ec5638c1b3bcb22e573b2b7b41969e0c744d5a15e" +checksum = "07ba0ad7e047712414213ff67533e6dd477af0a4e1d14fb52343e53d30ea9397" dependencies = [ "once_cell", ] [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.1" +version = "2.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d2d1d55045829d65aad9d389139882ad623b33b904e7c9f1b10c5b8927298e5" +checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.1" +version = "2.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f94bca7e7a599d89dea5dfa309e217e7906c3c007fb9c3299c40b10d6a315d3" +checksum = "f73541b156d32197eecda1a4014d7f868fd2bcb3c550d5386087cfba442bf69c" dependencies = [ "pest", "pest_generator", @@ -1565,22 +1540,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.1" +version = "2.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d490fe7e8556575ff6911e45567ab95e71617f43781e5c05490dc8d75c965c" +checksum = "c35eeed0a3fab112f75165fdc026b3913f4183133f19b49be773ac9ea966e8bd" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "pest_meta" -version = "2.7.1" +version = "2.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2674c66ebb4b4d9036012091b537aae5878970d6999f81a265034d85b136b341" +checksum = "2adbf29bb9776f28caece835398781ab24435585fe0d4dc1374a61db5accedca" dependencies = [ "once_cell", "pest", @@ -1589,12 +1564,12 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 1.9.3", + "indexmap", ] [[package]] @@ -1633,34 +1608,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ "siphasher", - "uncased", ] [[package]] name = "pin-project" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -1670,9 +1644,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plain" @@ -1680,6 +1654,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1688,18 +1668,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.32" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1775,9 +1755,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -1785,14 +1765,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -1806,43 +1784,34 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", - "redox_syscall 0.2.16", + "libredox", "thiserror", ] [[package]] name = "regex" -version = "1.9.1" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.3", - "regex-syntax 0.7.4", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -1856,13 +1825,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.4", + "regex-syntax 0.8.3", ] [[package]] @@ -1873,9 +1842,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.4" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "remove_dir_all" @@ -1888,9 +1857,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64", "bytes", @@ -1911,9 +1880,12 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", + "system-configuration", "tokio", "tokio-native-tls", "tower-service", @@ -1926,9 +1898,9 @@ dependencies = [ [[package]] name = "rmp" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" dependencies = [ "byteorder", "num-traits", @@ -1966,7 +1938,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.27", + "syn", "walkdir", ] @@ -1988,42 +1960,51 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.37.23" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", "io-lifetimes", "libc", "linux-raw-sys 0.3.8", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "rustix" -version = "0.38.4" +version = "0.38.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "e3cc72858054fcff6d7dea32df2aeaee6a7c24227366d7ea429aada2f26b16ad" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.5.0", "errno", "libc", - "linux-raw-sys 0.4.3", - "windows-sys", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "same-file" @@ -2036,11 +2017,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2075,14 +2056,14 @@ checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "security-framework" -version = "2.9.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -2093,9 +2074,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" dependencies = [ "core-foundation-sys", "libc", @@ -2103,29 +2084,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.175" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b" +checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.175" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4" +checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "serde_json" -version = "1.0.103" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "itoa", "ryu", @@ -2134,9 +2115,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.14" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" dependencies = [ "itoa", "serde", @@ -2144,9 +2125,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -2165,9 +2146,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -2176,42 +2157,43 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] [[package]] name = "siphasher" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "slug" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" +checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4" dependencies = [ "deunicode", + "wasm-bindgen", ] [[package]] name = "smallvec" -version = "1.11.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "snailquote" @@ -2225,28 +2207,28 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.9" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] name = "spdx" -version = "0.10.2" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b19b32ed6d899ab23174302ff105c1577e45a06b08d4fe0a9dd13ce804bbbf71" +checksum = "29ef1a0fa1e39ac22972c8db23ff89aea700ab96aa87114e1fb55937a631a0c9" dependencies = [ "smallvec", ] [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subprocess" @@ -2258,17 +2240,11 @@ dependencies = [ "winapi", ] -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - [[package]] name = "suppaftp" -version = "5.1.2" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84c5cecf19018f5f85ca3f2c7e2c974dfe07e7e4a85cbea4330bb1e7c578df" +checksum = "d9290ef2d57a47ebc32442cbc74ce039e5483e59b6e099a3361346d894b89196" dependencies = [ "chrono", "lazy-regex", @@ -2279,9 +2255,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.109" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote", @@ -2289,27 +2265,37 @@ dependencies = [ ] [[package]] -name = "syn" -version = "2.0.27" +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", ] [[package]] -name = "sync_wrapper" -version = "0.1.2" +name = "system-configuration-sys" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "tar" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" dependencies = [ "filetime", "libc", @@ -2328,22 +2314,21 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.7.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.3.5", - "rustix 0.38.4", - "windows-sys", + "rustix 0.38.33", + "windows-sys 0.52.0", ] [[package]] name = "tera" -version = "1.17.1" +version = "1.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df578c295f9ec044ff1c829daf31bb7581d5b3c2a7a3d87419afe1f2531438c" +checksum = "970dff17c11e884a4a09bc76e3a17ef71e01bb13447a11e85226e254fe6d10b8" dependencies = [ "chrono", "chrono-tz", @@ -2367,35 +2352,35 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" dependencies = [ - "rustix 0.37.23", - "windows-sys", + "rustix 0.37.27", + "windows-sys 0.48.0", ] [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -2403,22 +2388,14 @@ dependencies = [ [[package]] name = "time" -version = "0.1.45" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ + "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -2426,16 +2403,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -2456,11 +2434,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", @@ -2468,7 +2445,7 @@ dependencies = [ "num_cpus", "pin-project-lite", "socket2", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2483,9 +2460,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -2497,9 +2474,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", "serde_spanned", @@ -2509,20 +2486,20 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.14" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", @@ -2559,11 +2536,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -2572,20 +2548,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -2593,20 +2569,20 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -2622,15 +2598,15 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" @@ -2638,15 +2614,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" -[[package]] -name = "uncased" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b9bc53168a4be7402ab86c3aad243a84dd7381d09be0eddc81280c1da95ca68" -dependencies = [ - "version_check", -] - [[package]] name = "unic-char-property" version = "0.9.0" @@ -2699,39 +2666,39 @@ dependencies = [ [[package]] name = "unicase" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" dependencies = [ "version_check", ] [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode_categories" @@ -2741,9 +2708,9 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "url" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -2752,9 +2719,9 @@ dependencies = [ [[package]] name = "users" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4227e95324a443c9fcb06e03d4d85e91aabe9a5a02aa818688b6918b6af486" +checksum = "24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032" dependencies = [ "libc", "log", @@ -2768,9 +2735,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.4.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" [[package]] name = "valuable" @@ -2792,9 +2759,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -2809,12 +2776,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -2823,9 +2784,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2833,24 +2794,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.27", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -2860,9 +2821,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2870,28 +2831,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -2899,13 +2860,14 @@ dependencies = [ [[package]] name = "which" -version = "4.4.0" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ "either", - "libc", + "home", "once_cell", + "rustix 0.38.33", ] [[package]] @@ -2926,9 +2888,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -2940,12 +2902,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.5", ] [[package]] @@ -2954,91 +2916,167 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", ] [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" -version = "0.5.1" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b5872fa2e10bd067ae946f927e726d7d603eaeb6e02fa6a350e0722d2b8c11" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] name = "xattr" -version = "0.2.3" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", + "linux-raw-sys 0.4.13", + "rustix 0.38.33", ] [[package]] @@ -3090,11 +3128,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.10+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/src/core/artifact.rs b/src/core/artifact.rs index 6825d2f..297ad1f 100644 --- a/src/core/artifact.rs +++ b/src/core/artifact.rs @@ -682,7 +682,7 @@ impl ArtifactContext { start.elapsed().as_secs_f32() ); Ok(InnerMinimalArtifactContext { - created_at: DateTime::::from_utc( + created_at: DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(id.release.to_string().as_str(), "%Y%m%d%H%M%S") .expect("Invalid release value"), Utc, @@ -1059,7 +1059,7 @@ impl ArtifactContext { start.elapsed().as_secs_f32() ); Ok(InnerArtifactContext { - created_at: DateTime::::from_utc( + created_at: DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(id.release.to_string().as_str(), "%Y%m%d%H%M%S") .expect("Invalid release value"), Utc, diff --git a/src/core/fs.rs b/src/core/fs.rs index 2b6bfe3..bb519ef 100644 --- a/src/core/fs.rs +++ b/src/core/fs.rs @@ -1,4 +1,4 @@ -use chrono::{DateTime, NaiveDateTime, Utc}; +use chrono::{DateTime, Utc}; use color_eyre::eyre::{eyre, Context, Result}; use globset::{Glob, GlobSetBuilder}; use infer::Infer; @@ -237,14 +237,8 @@ where fn last_modifed_at(&self) -> Result> { let modified_at = filetime::FileTime::from_last_modification_time(&self.as_ref().metadata()?); - Ok(DateTime::::from_utc( - NaiveDateTime::from_timestamp_opt( - modified_at.unix_seconds(), - modified_at.nanoseconds(), - ) - .ok_or(eyre!("Last modification timestamp out of range"))?, - Utc, - )) + DateTime::from_timestamp(modified_at.unix_seconds(), modified_at.nanoseconds()) + .ok_or(eyre!("Last modification timestamp out of range")) } /// Cross platform method to set last modified time for a path diff --git a/src/core/plan.rs b/src/core/plan.rs index f744f74..3dace03 100644 --- a/src/core/plan.rs +++ b/src/core/plan.rs @@ -439,7 +439,9 @@ impl PlanContext { let stdout = String::from_utf8_lossy(&output.stdout).to_string(); DateTime::parse_from_str(stdout.trim(), "%Y-%m-%d %H:%M:%S %z") .ok() - .map(|value| DateTime::from_utc(value.naive_utc(), Utc)) + .map(|value| { + DateTime::from_naive_utc_and_offset(value.naive_utc(), Utc) + }) } else { None }; @@ -529,7 +531,9 @@ impl PlanContext { let stdout = String::from_utf8_lossy(&output.stdout).to_string(); DateTime::parse_from_str(stdout.trim(), "%Y-%m-%d %H:%M:%S %z") .ok() - .map(|value| DateTime::from_utc(value.naive_utc(), Utc)) + .map(|value| { + DateTime::from_naive_utc_and_offset(value.naive_utc(), Utc) + }) }; if let Some(git_modified_at) = git_modified_at { if git_modified_at != disk_modified_at { diff --git a/src/store/mod.rs b/src/store/mod.rs index 3047d9f..146acad 100644 --- a/src/store/mod.rs +++ b/src/store/mod.rs @@ -254,11 +254,11 @@ pub(crate) fn files_alternate_modified_at_get_full_index( .or_default() .entry(PathBuf::from(row.file_path)) .or_insert(( - DateTime::::from_utc( + DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(&row.real_modified_at, TIMESTAMP_FORMAT).unwrap(), Utc, ), - DateTime::::from_utc( + DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(&row.alternate_modified_at, TIMESTAMP_FORMAT) .unwrap(), Utc, @@ -397,7 +397,7 @@ pub(crate) fn file_alternate_modified_at_get( .load::(connection)? .first() { - Ok(Some(DateTime::::from_utc( + Ok(Some(DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(&row.alternate_modified_at, TIMESTAMP_FORMAT).unwrap(), Utc, ))) @@ -446,12 +446,12 @@ pub(crate) fn plan_context_alternate_modified_at_delete( ( PathBuf::from(row.file_path), ( - DateTime::::from_utc( + DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(&row.real_modified_at, TIMESTAMP_FORMAT) .unwrap(), Utc, ), - DateTime::::from_utc( + DateTime::::from_naive_utc_and_offset( NaiveDateTime::parse_from_str(&row.alternate_modified_at, TIMESTAMP_FORMAT) .unwrap(), Utc, From b7ca4f851006ee535abf8828b01e6bcbc371e400 Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Tue, 23 Apr 2024 14:15:44 +0530 Subject: [PATCH 07/13] compute absolute store path Signed-off-by: Phani Sajja --- src/core/auto_build.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/auto_build.rs b/src/core/auto_build.rs index 11dca97..a31ebdd 100644 --- a/src/core/auto_build.rs +++ b/src/core/auto_build.rs @@ -1,7 +1,7 @@ use std::{ collections::{BTreeMap, BTreeSet, HashMap, HashSet}, fmt::Display, - fs::File, + fs::{self, File}, path::{Path, PathBuf}, sync::{mpsc::channel, Arc, RwLock}, time::Instant, @@ -364,7 +364,7 @@ impl AutoBuildContext { let store_path = if store_path.is_absolute() { store_path.clone() } else { - auto_build_ctx_path.as_ref().join(store_path) + fs::canonicalize(auto_build_ctx_path.as_ref().join(store_path))? }; let store = Store::new(&store_path).with_context(|| { format!( From e7a956d544179cdb847708c0466c2aa249863ef6 Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Wed, 24 Apr 2024 14:37:28 +0530 Subject: [PATCH 08/13] Add dependabot Signed-off-by: Phani Sajja --- .github/dependabot.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..c7ecf5e --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: cargo + directory: / + schedule: + interval: weekly + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly From 9e46bf240c40b16bd556f37376ca4c9dafda03ef Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 3 May 2024 16:45:09 +0530 Subject: [PATCH 09/13] fix fmt Signed-off-by: Phani Sajja --- src/cli/server.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/cli/server.rs b/src/cli/server.rs index c5169ca..97aaae3 100644 --- a/src/cli/server.rs +++ b/src/cli/server.rs @@ -95,17 +95,17 @@ pub struct StaticFile(pub T); impl IntoResponse for StaticFile where - T: Into, + T: Into, { - fn into_response(self) -> Response { - let path = self.0.into(); - - match Asset::get(path.as_str()) { - Some(content) => { - let mime = mime_guess::from_path(path).first_or_octet_stream(); - ([(header::CONTENT_TYPE, mime.as_ref())], content.data).into_response() - } - None => (StatusCode::NOT_FOUND, "404 Not Found").into_response(), + fn into_response(self) -> Response { + let path = self.0.into(); + + match Asset::get(path.as_str()) { + Some(content) => { + let mime = mime_guess::from_path(path).first_or_octet_stream(); + ([(header::CONTENT_TYPE, mime.as_ref())], content.data).into_response() + } + None => (StatusCode::NOT_FOUND, "404 Not Found").into_response(), + } } - } } From cd903e2a2190c2f75ee504344df796c1435a0d6e Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 3 May 2024 16:51:15 +0530 Subject: [PATCH 10/13] fix cargo Signed-off-by: Phani Sajja --- src/check/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/check/mod.rs b/src/check/mod.rs index 1458354..d9d7a4e 100644 --- a/src/check/mod.rs +++ b/src/check/mod.rs @@ -19,7 +19,7 @@ use color_eyre::{ }; use owo_colors::OwoColorize; use serde::{Deserialize, Serialize}; -use toml_edit::{Array, Document, Formatted, InlineTable, Value}; +use toml_edit::{Array, DocumentMut, Formatted, InlineTable, Value}; use tracing::debug; #[cfg(target_os = "linux")] @@ -78,8 +78,8 @@ impl PlanContextConfig { } pub fn from_str(value: &str, target: PackageTarget) -> Result { - let document = value.parse::()?; - let mut restructured_document = Document::new(); + let document = value.parse::()?; + let mut restructured_document = DocumentMut::new(); let mut restructured_rules = Array::default(); let rule_sets = [ document.get("rules"), From 57c1479f279daa3455d650ab60cfaf50efe06ec2 Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 3 May 2024 17:35:05 +0530 Subject: [PATCH 11/13] fix clippy (toolchain 1.78.0) Signed-off-by: Phani Sajja --- src/check/artifact/package.rs | 2 +- src/check/artifact/script.rs | 12 ++++-------- src/check/mod.rs | 1 + src/core/artifact.rs | 4 ++-- src/core/dep_graph.rs | 1 + src/store/mod.rs | 1 + 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/check/artifact/package.rs b/src/check/artifact/package.rs index b94d8f7..16b1bf6 100644 --- a/src/check/artifact/package.rs +++ b/src/check/artifact/package.rs @@ -524,7 +524,7 @@ impl ArtifactCheck for PackageBeforeCheck { .iter() .filter_map(|search_path| { if let Some(dep_ident) = search_path.package_ident(artifact_context.target) { - if tdep_artifacts.get(&dep_ident).is_some() { + if tdep_artifacts.contains_key(&dep_ident) { let artifact_ctx = artifact_cache.artifact(&dep_ident).unwrap(); if let Some(artifact_ctx) = &artifact_ctx { for (elf_path, elf_metadata) in &artifact_ctx.elfs { diff --git a/src/check/artifact/script.rs b/src/check/artifact/script.rs index 3a535c2..dc6a787 100644 --- a/src/check/artifact/script.rs +++ b/src/check/artifact/script.rs @@ -559,20 +559,16 @@ impl ArtifactCheck for ScriptCheck { used_deps.insert(interpreter_artifact_ctx.id.clone()); if interpreter_artifact_ctx .elfs - .get(command.as_path()) - .is_some() + .contains_key(command.as_path()) || interpreter_artifact_ctx .scripts - .get(command.as_path()) - .is_some() + .contains_key(command.as_path()) || interpreter_artifact_ctx .links - .get(command.as_path()) - .is_some() + .contains_key(command.as_path()) || interpreter_artifact_ctx .machos - .get(command.as_path()) - .is_some() + .contains_key(command.as_path()) { let mut interpreter_listed = false; for intermediate in intermediates.iter() { diff --git a/src/check/mod.rs b/src/check/mod.rs index d9d7a4e..2652757 100644 --- a/src/check/mod.rs +++ b/src/check/mod.rs @@ -528,6 +528,7 @@ pub(crate) trait SourceCheck { plan_context: &PlanContext, source_context: &SourceContext, ) -> Vec; + #[allow(dead_code)] fn source_context_check_with_artifact( &self, plan_config: &PlanContextConfig, diff --git a/src/core/artifact.rs b/src/core/artifact.rs index 297ad1f..a2ec289 100644 --- a/src/core/artifact.rs +++ b/src/core/artifact.rs @@ -1185,7 +1185,7 @@ impl ArtifactContext { }; if let Some(next_artifact_ctx) = link.package_ident(artifact_ctx.target) { if next_artifact_ctx == artifact_ctx.id - && artifact_ctx.links.get(&link).is_none() + && !artifact_ctx.links.contains_key(&link) { resolved_path = link.to_path_buf(); current_artifact = None; @@ -1262,7 +1262,7 @@ impl ArtifactContext { }; if let Some(next_artifact_ctx) = link.package_ident(artifact_ctx.target) { if next_artifact_ctx == artifact_ctx.id - && artifact_ctx.links.get(&link).is_none() + && !artifact_ctx.links.contains_key(&link) { resolved_path = link.to_path_buf(); intermediate_paths.push(resolved_path.clone()); diff --git a/src/core/dep_graph.rs b/src/core/dep_graph.rs index c85398c..4519d7b 100644 --- a/src/core/dep_graph.rs +++ b/src/core/dep_graph.rs @@ -141,6 +141,7 @@ impl Dependency { } #[derive(Debug, PartialEq, Eq)] +#[allow(dead_code)] pub(crate) struct DependencyArtifactUpdated { latest_dep_artifact: PlanContextLatestArtifact, latest_plan_artifact: PlanContextLatestArtifact, diff --git a/src/store/mod.rs b/src/store/mod.rs index 146acad..c386cbd 100644 --- a/src/store/mod.rs +++ b/src/store/mod.rs @@ -126,6 +126,7 @@ impl AsRef for InvalidPackageSourceArchiveStorePath { } #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone)] +#[allow(dead_code)] pub(crate) struct PackageSourceLicenseStorePath(PathBuf); impl AsRef for PackageSourceLicenseStorePath { From 2c57aa81d741d903d59339cccfc59d9a881ba732 Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 3 May 2024 18:04:00 +0530 Subject: [PATCH 12/13] fix clippy (toolchain 1.78.0) Signed-off-by: Phani Sajja --- src/check/artifact/elf.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/check/artifact/elf.rs b/src/check/artifact/elf.rs index 6e2f9a0..9d36d53 100644 --- a/src/check/artifact/elf.rs +++ b/src/check/artifact/elf.rs @@ -935,10 +935,8 @@ impl ArtifactCheck for ElfCheck { { if let Some(interpreter_artifact_ctx) = tdep_artifacts.get(&interpreter_dep) { - if interpreter_artifact_ctx - .elfs - .get(interpreter_path.as_path()) - .is_none() + if !interpreter_artifact_ctx + .elfs.contains_key(interpreter_path.as_path()) { let resolved_interpreter_path = interpreter_artifact_ctx .resolve_path(tdep_artifacts, interpreter_path.as_path()); From e448efd5d38799746d5cd76f9cd3d18c6cf8f80a Mon Sep 17 00:00:00 2001 From: Phani Sajja Date: Fri, 3 May 2024 18:15:56 +0530 Subject: [PATCH 13/13] fix fmt Signed-off-by: Phani Sajja --- src/check/artifact/elf.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/check/artifact/elf.rs b/src/check/artifact/elf.rs index 9d36d53..672a0d9 100644 --- a/src/check/artifact/elf.rs +++ b/src/check/artifact/elf.rs @@ -936,7 +936,8 @@ impl ArtifactCheck for ElfCheck { if let Some(interpreter_artifact_ctx) = tdep_artifacts.get(&interpreter_dep) { if !interpreter_artifact_ctx - .elfs.contains_key(interpreter_path.as_path()) + .elfs + .contains_key(interpreter_path.as_path()) { let resolved_interpreter_path = interpreter_artifact_ctx .resolve_path(tdep_artifacts, interpreter_path.as_path());