From 43dec140fe0c225bf2560f9c4342a9b3f16ddd95 Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL HE/HIM) (from Dev Box)" Date: Mon, 21 Jul 2025 16:14:41 -0700 Subject: [PATCH 1/2] Update dsc version and schemars to 1.0 --- archive/registry/Cargo.toml | 2 +- dsc/Cargo.lock | 43 ++++++------------- dsc/Cargo.toml | 6 +-- dsc/src/util.rs | 6 +-- dsc_lib/Cargo.lock | 35 ++++----------- dsc_lib/Cargo.toml | 2 +- dsc_lib/src/configure/config_doc.rs | 13 +++--- dsc_lib/src/dscresources/resource_manifest.rs | 13 +++--- dsc_lib/src/extensions/extension_manifest.rs | 13 +++--- dsc_lib/src/schemas/mod.rs | 41 +++++++++--------- dscecho/Cargo.lock | 29 +++++++++++-- dscecho/Cargo.toml | 2 +- registry/Cargo.lock | 29 +++++++++++-- registry/Cargo.toml | 2 +- registry_lib/Cargo.lock | 8 ++-- registry_lib/Cargo.toml | 2 +- sshdconfig/Cargo.lock | 29 +++++++++++-- sshdconfig/Cargo.toml | 2 +- sshdconfig/tests/defaultshell.tests.ps1 | 10 ++++- tools/dsctest/Cargo.lock | 29 +++++++++++-- tools/dsctest/Cargo.toml | 2 +- tools/test_group_resource/Cargo.lock | 35 ++++----------- tools/test_group_resource/Cargo.toml | 2 +- 23 files changed, 196 insertions(+), 159 deletions(-) diff --git a/archive/registry/Cargo.toml b/archive/registry/Cargo.toml index ea2d97174..e6f63b640 100644 --- a/archive/registry/Cargo.toml +++ b/archive/registry/Cargo.toml @@ -19,7 +19,7 @@ clap = { version = "4.1", features = ["derive"] } crossterm = { version = "0.26" } ntreg = { path = "../ntreg" } ntstatuserror = { path = "../ntstatuserror" } -schemars = { version = "0.8" } +schemars = { version = "1.0" } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } diff --git a/dsc/Cargo.lock b/dsc/Cargo.lock index c2c2977f1..aabb8c361 100644 --- a/dsc/Cargo.lock +++ b/dsc/Cargo.lock @@ -545,7 +545,7 @@ dependencies = [ [[package]] name = "dsc" -version = "3.2.0-preview.2" +version = "3.2.0-preview.3" dependencies = [ "clap", "clap_complete", @@ -757,12 +757,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.4" @@ -928,17 +922,6 @@ dependencies = [ "winapi-util", ] -[[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", - "serde", -] - [[package]] name = "indexmap" version = "2.10.0" @@ -946,7 +929,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown", ] [[package]] @@ -1365,7 +1348,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1" dependencies = [ "base64", - "indexmap 2.10.0", + "indexmap", "quick-xml", "serde", "time", @@ -1618,12 +1601,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", - "indexmap 1.9.3", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -1631,9 +1614,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", @@ -1698,7 +1681,7 @@ version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.10.0", + "indexmap", "itoa", "memchr", "ryu", @@ -1720,7 +1703,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.10.0", + "indexmap", "itoa", "ryu", "serde", @@ -1864,9 +1847,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.35.2" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3ffa3e4ff2b324a57f7aeb3c349656c7b127c3c189520251a648102a92496e" +checksum = "252800745060e7b9ffb7b2badbd8b31cfa4aa2e61af879d0a3bf2a317c20217d" dependencies = [ "libc", "memchr", @@ -2024,7 +2007,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", diff --git a/dsc/Cargo.toml b/dsc/Cargo.toml index f33da70f5..84ebfd3a4 100644 --- a/dsc/Cargo.toml +++ b/dsc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dsc" -version = "3.2.0-preview.2" +version = "3.2.0-preview.3" edition = "2021" [profile.release] @@ -23,12 +23,12 @@ jsonschema = { version = "0.30", default-features = false } path-absolutize = { version = "3.1" } regex = "1.11" rust-i18n = { version = "3.1" } -schemars = { version = "0.8" } +schemars = { version = "1.0" } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } serde_yaml = { version = "0.9" } syntect = { version = "5.0", features = ["default-fancy"], default-features = false } -sysinfo = { version = "0.35" } +sysinfo = { version = "0.36" } thiserror = "2.0" tracing = { version = "0.1" } tracing-subscriber = { version = "0.3", features = ["ansi", "env-filter", "json"] } diff --git a/dsc/src/util.rs b/dsc/src/util.rs index dbb542871..909117d0a 100644 --- a/dsc/src/util.rs +++ b/dsc/src/util.rs @@ -35,7 +35,7 @@ use dsc_lib::{ use jsonschema::Validator; use path_absolutize::Absolutize; use rust_i18n::t; -use schemars::{schema_for, schema::RootSchema}; +use schemars::{Schema, schema_for}; use serde::Deserialize; use serde_json::Value; use std::collections::HashMap; @@ -145,9 +145,9 @@ pub fn add_fields_to_json(json: &str, fields_to_add: &HashMap) - /// /// # Returns /// -/// * `RootSchema` - The schema +/// * `Schema` - The schema #[must_use] -pub fn get_schema(schema: SchemaType) -> RootSchema { +pub fn get_schema(schema: SchemaType) -> Schema { match schema { SchemaType::GetResult => { schema_for!(GetResult) diff --git a/dsc_lib/Cargo.lock b/dsc_lib/Cargo.lock index d90891895..a6215a007 100644 --- a/dsc_lib/Cargo.lock +++ b/dsc_lib/Cargo.lock @@ -584,12 +584,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.4" @@ -755,17 +749,6 @@ dependencies = [ "winapi-util", ] -[[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", - "serde", -] - [[package]] name = "indexmap" version = "2.10.0" @@ -773,7 +756,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown", ] [[package]] @@ -1334,12 +1317,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", - "indexmap 1.9.3", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -1347,9 +1330,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", @@ -1414,7 +1397,7 @@ version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.10.0", + "indexmap", "itoa", "memchr", "ryu", @@ -1436,7 +1419,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.10.0", + "indexmap", "itoa", "ryu", "serde", @@ -1632,7 +1615,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", diff --git a/dsc_lib/Cargo.toml b/dsc_lib/Cargo.toml index 865ecadd4..b61d8e287 100644 --- a/dsc_lib/Cargo.toml +++ b/dsc_lib/Cargo.toml @@ -25,7 +25,7 @@ regex = "1.11" rt-format = "0.3" rust-i18n = { version = "3.1" } # reqwest = { version = "0.12.8", features = ["native-tls"], default-features = false } -schemars = { version = "0.8", features = ["preserve_order"] } +schemars = { version = "1.0", features = ["preserve_order"] } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } serde_yaml = { version = "0.9" } diff --git a/dsc_lib/src/configure/config_doc.rs b/dsc_lib/src/configure/config_doc.rs index 5749ac888..fba5044df 100644 --- a/dsc_lib/src/configure/config_doc.rs +++ b/dsc_lib/src/configure/config_doc.rs @@ -3,7 +3,7 @@ use chrono::{DateTime, Local}; use rust_i18n::t; -use schemars::JsonSchema; +use schemars::{JsonSchema, json_schema}; use serde::{Deserialize, Serialize}; use serde_json::{Map, Value}; use std::collections::HashMap; @@ -193,12 +193,11 @@ impl DscRepoSchema for Configuration { const SCHEMA_FOLDER_PATH: &'static str = "config"; const SCHEMA_SHOULD_BUNDLE: bool = true; - fn schema_metadata() -> schemars::schema::Metadata { - schemars::schema::Metadata { - title: Some(t!("configure.config_doc.configurationDocumentSchemaTitle").into()), - description: Some(t!("configure.config_doc.configurationDocumentSchemaDescription").into()), - ..Default::default() - } + fn schema_metadata() -> schemars::Schema { + json_schema!({ + "title": t!("configure.config_doc.configurationDocumentSchemaTitle").to_string(), + "description": t!("configure.config_doc.configurationDocumentSchemaDescription").to_string(), + }) } fn validate_schema_uri(&self) -> Result<(), DscError> { diff --git a/dsc_lib/src/dscresources/resource_manifest.rs b/dsc_lib/src/dscresources/resource_manifest.rs index b432c39db..a5b0f48ff 100644 --- a/dsc_lib/src/dscresources/resource_manifest.rs +++ b/dsc_lib/src/dscresources/resource_manifest.rs @@ -2,7 +2,7 @@ // Licensed under the MIT License. use rust_i18n::t; -use schemars::JsonSchema; +use schemars::{Schema, JsonSchema, json_schema}; use semver::Version; use serde::{Deserialize, Serialize}; use serde_json::Value; @@ -240,12 +240,11 @@ impl DscRepoSchema for ResourceManifest { const SCHEMA_FOLDER_PATH: &'static str = "resource"; const SCHEMA_SHOULD_BUNDLE: bool = true; - fn schema_metadata() -> schemars::schema::Metadata { - schemars::schema::Metadata { - title: Some(t!("dscresources.resource_manifest.resourceManifestSchemaTitle").into()), - description: Some(t!("dscresources.resource_manifest.resourceManifestSchemaDescription").into()), - ..Default::default() - } + fn schema_metadata() -> Schema { + json_schema!({ + "title": t!("dscresources.resource_manifest.resourceManifestSchemaTitle").to_string(), + "description": t!("dscresources.resource_manifest.resourceManifestSchemaDescription").to_string(), + }) } fn validate_schema_uri(&self) -> Result<(), DscError> { diff --git a/dsc_lib/src/extensions/extension_manifest.rs b/dsc_lib/src/extensions/extension_manifest.rs index 587426611..f6fa92bec 100644 --- a/dsc_lib/src/extensions/extension_manifest.rs +++ b/dsc_lib/src/extensions/extension_manifest.rs @@ -2,7 +2,7 @@ // Licensed under the MIT License. use rust_i18n::t; -use schemars::JsonSchema; +use schemars::{Schema, JsonSchema, json_schema}; use semver::Version; use serde::{Deserialize, Serialize}; use serde_json::Value; @@ -41,12 +41,11 @@ impl DscRepoSchema for ExtensionManifest { const SCHEMA_FOLDER_PATH: &'static str = "extension"; const SCHEMA_SHOULD_BUNDLE: bool = true; - fn schema_metadata() -> schemars::schema::Metadata { - schemars::schema::Metadata { - title: Some(t!("extensions.extension_manifest.extensionManifestSchemaTitle").into()), - description: Some(t!("extensions.extension_manifest.extensionManifestSchemaDescription").into()), - ..Default::default() - } + fn schema_metadata() -> Schema { + json_schema!({ + "title": t!("extensions.extension_manifest.extensionManifestSchemaTitle").to_string(), + "description": t!("extensions.extension_manifest.extensionManifestSchemaDescription").to_string(), + }) } fn validate_schema_uri(&self) -> Result<(), DscError> { diff --git a/dsc_lib/src/schemas/mod.rs b/dsc_lib/src/schemas/mod.rs index 59a3174b2..23658308a 100644 --- a/dsc_lib/src/schemas/mod.rs +++ b/dsc_lib/src/schemas/mod.rs @@ -3,7 +3,7 @@ //! Contains helpers for JSON schemas and DSC -use schemars::{schema::{Metadata, Schema}, JsonSchema}; +use schemars::{Schema, JsonSchema, json_schema}; use crate::dscerror::DscError; @@ -280,7 +280,7 @@ pub(crate) fn get_recognized_schema_uris( /// direct use. #[must_use] pub(crate) fn get_recognized_uris_subschema( - metadata: Metadata, + metadata: &Schema, schema_file_base_name: &str, schema_folder_path: &str, should_bundle: bool @@ -293,18 +293,13 @@ pub(crate) fn get_recognized_uris_subschema( |schema_uri| serde_json::Value::String(schema_uri.clone()) ).collect(); - schemars::schema::SchemaObject { - instance_type: Some(schemars::schema::InstanceType::String.into()), - format: Some("uri".to_string()), - string: Some(Box::new(schemars::schema::StringValidation { - max_length: None, - min_length: None, - pattern: None, - })), - enum_values: Some(enums), - metadata: Some(Box::new(metadata)), - ..Default::default() - }.into() + json_schema!({ + "type": "string", + "format": Some("uri".to_string()), + "enum": Some(enums), + "title": metadata.get("title"), + "description": metadata.get("description"), + }) } /// Returns the recognized schema URI for the latest major version with the @@ -372,7 +367,7 @@ pub trait DscRepoSchema : JsonSchema { /// are also published with their VS Code form. Schemas that aren't bundled aren't published /// with the VS Code form. const SCHEMA_SHOULD_BUNDLE: bool; - fn schema_metadata() -> Metadata; + fn schema_metadata() -> Schema; /// Returns the default URI for the schema. /// @@ -476,9 +471,9 @@ pub trait DscRepoSchema : JsonSchema { /// valid URI for the schema's `$id` without needing to regularly update an enum for each /// schema and release. #[must_use] - fn recognized_schema_uris_subschema(_: &mut schemars::gen::SchemaGenerator) -> Schema { + fn recognized_schema_uris_subschema(_: &mut schemars::SchemaGenerator) -> Schema { get_recognized_uris_subschema( - Self::schema_metadata(), + &Self::schema_metadata(), Self::SCHEMA_FILE_BASE_NAME, Self::SCHEMA_FOLDER_PATH, Self::SCHEMA_SHOULD_BUNDLE @@ -614,8 +609,10 @@ mod test { const SCHEMA_FOLDER_PATH: &'static str = "example"; const SCHEMA_SHOULD_BUNDLE: bool = true; - fn schema_metadata() -> Metadata { - Metadata::default() + fn schema_metadata() -> Schema { + json_schema!({ + "description": "An example schema for testing.", + }) } } @@ -657,8 +654,10 @@ mod test { const SCHEMA_FOLDER_PATH: &'static str = "example"; const SCHEMA_SHOULD_BUNDLE: bool = false; - fn schema_metadata() -> Metadata { - Metadata::default() + fn schema_metadata() -> Schema { + json_schema!({ + "description": "An example schema for testing.", + }) } } diff --git a/dscecho/Cargo.lock b/dscecho/Cargo.lock index 44508fab9..879bb11c0 100644 --- a/dscecho/Cargo.lock +++ b/dscecho/Cargo.lock @@ -338,6 +338,26 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.11.1" @@ -444,11 +464,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -456,9 +477,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", diff --git a/dscecho/Cargo.toml b/dscecho/Cargo.toml index ac400afb6..23431bc92 100644 --- a/dscecho/Cargo.toml +++ b/dscecho/Cargo.toml @@ -15,6 +15,6 @@ strip = "symbols" # See split-debuginfo - allows us to drop the size b [dependencies] clap = { version = "4.5", features = ["derive"] } rust-i18n = { version = "3.1" } -schemars = { version = "0.8" } +schemars = { version = "1.0" } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } diff --git a/registry/Cargo.lock b/registry/Cargo.lock index d09a44b53..210513d2d 100644 --- a/registry/Cargo.lock +++ b/registry/Cargo.lock @@ -557,6 +557,26 @@ dependencies = [ "bitflags 2.9.0", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.11.1" @@ -754,11 +774,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -766,9 +787,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", diff --git a/registry/Cargo.toml b/registry/Cargo.toml index 38e23a17d..cd715ec4f 100644 --- a/registry/Cargo.toml +++ b/registry/Cargo.toml @@ -23,7 +23,7 @@ crossterm = "0.29" registry = "1.3" registry_lib = { path = "../registry_lib" } rust-i18n = { version = "3.1" } -schemars = "0.8" +schemars = "1.0" serde = "1.0" serde_json = "1.0" thiserror = "2.0" diff --git a/registry_lib/Cargo.lock b/registry_lib/Cargo.lock index 09abccea9..4a84f5c27 100644 --- a/registry_lib/Cargo.lock +++ b/registry_lib/Cargo.lock @@ -604,9 +604,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.9.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", "ref-cast", @@ -617,9 +617,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.9.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5016d94c77c6d32f0b8e08b781f7dc8a90c2007d4e77472cc2807bc10a8438fe" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", diff --git a/registry_lib/Cargo.toml b/registry_lib/Cargo.toml index ad8d62be2..efb8fae87 100644 --- a/registry_lib/Cargo.toml +++ b/registry_lib/Cargo.toml @@ -21,7 +21,7 @@ strip = "symbols" # See split-debuginfo - allows us to drop the size b crossterm = "0.29" registry = "1.3" rust-i18n = { version = "3.1" } -schemars = "0.8" +schemars = "1.0" serde = "1.0" serde_json = "1.0" thiserror = "2.0" diff --git a/sshdconfig/Cargo.lock b/sshdconfig/Cargo.lock index c018b0f84..d503819df 100644 --- a/sshdconfig/Cargo.lock +++ b/sshdconfig/Cargo.lock @@ -665,6 +665,26 @@ dependencies = [ "bitflags 2.9.1", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "regex" version = "1.11.1" @@ -830,11 +850,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -842,9 +863,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", diff --git a/sshdconfig/Cargo.toml b/sshdconfig/Cargo.toml index 7c18602be..a82cd0443 100644 --- a/sshdconfig/Cargo.toml +++ b/sshdconfig/Cargo.toml @@ -19,7 +19,7 @@ chrono = { version = "0.4" } clap = { version = "4.5", features = ["derive"] } crossterm = { version = "0.27" } rust-i18n = { version = "3.1" } -schemars = "0.8" +schemars = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } thiserror = { version = "2.0" } diff --git a/sshdconfig/tests/defaultshell.tests.ps1 b/sshdconfig/tests/defaultshell.tests.ps1 index 3aa114396..df5786909 100644 --- a/sshdconfig/tests/defaultshell.tests.ps1 +++ b/sshdconfig/tests/defaultshell.tests.ps1 @@ -1,7 +1,15 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -Describe 'Default Shell Configuration Tests' -Skip:(!$IsWindows) { +BeforeDiscovery { + if ($IsWindows) { + $identity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $principal = [System.Security.Principal.WindowsPrincipal]::new($identity) + $isElevated = $principal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator) + } +} + +Describe 'Default Shell Configuration Tests' -Skip:(!$IsWindows -or !$isElevated) { BeforeAll { # Store original registry values to restore later $OriginalValues = @{} diff --git a/tools/dsctest/Cargo.lock b/tools/dsctest/Cargo.lock index 382bd3893..8d9ce3c62 100644 --- a/tools/dsctest/Cargo.lock +++ b/tools/dsctest/Cargo.lock @@ -184,6 +184,26 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ryu" version = "1.0.20" @@ -192,11 +212,12 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -204,9 +225,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", diff --git a/tools/dsctest/Cargo.toml b/tools/dsctest/Cargo.toml index 3f2d5f50a..a0ea40b19 100644 --- a/tools/dsctest/Cargo.toml +++ b/tools/dsctest/Cargo.toml @@ -7,6 +7,6 @@ edition = "2021" [dependencies] clap = { version = "4.1", features = ["derive"] } -schemars = { version = "0.8" } +schemars = { version = "1.0" } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } diff --git a/tools/test_group_resource/Cargo.lock b/tools/test_group_resource/Cargo.lock index 50bbf8f54..d8cd956d9 100644 --- a/tools/test_group_resource/Cargo.lock +++ b/tools/test_group_resource/Cargo.lock @@ -584,12 +584,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.4" @@ -755,17 +749,6 @@ dependencies = [ "winapi-util", ] -[[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", - "serde", -] - [[package]] name = "indexmap" version = "2.10.0" @@ -773,7 +756,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown", ] [[package]] @@ -1334,12 +1317,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", - "indexmap 1.9.3", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -1347,9 +1330,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", @@ -1414,7 +1397,7 @@ version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.10.0", + "indexmap", "itoa", "memchr", "ryu", @@ -1436,7 +1419,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.10.0", + "indexmap", "itoa", "ryu", "serde", @@ -1643,7 +1626,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", diff --git a/tools/test_group_resource/Cargo.toml b/tools/test_group_resource/Cargo.toml index 9dd35494e..54db74710 100644 --- a/tools/test_group_resource/Cargo.toml +++ b/tools/test_group_resource/Cargo.toml @@ -6,6 +6,6 @@ edition = "2021" [dependencies] clap = { version = "4.1", features = ["derive"] } dsc_lib = { path = "../../dsc_lib" } -schemars = { version = "0.8" } +schemars = { version = "1.0" } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } From 11b1ecb63df806d7f38899c9bb6e9dbf6ffae96c Mon Sep 17 00:00:00 2001 From: "Steve Lee (POWERSHELL HE/HIM) (from Dev Box)" Date: Mon, 21 Jul 2025 16:46:44 -0700 Subject: [PATCH 2/2] update schema tests --- dsc/tests/dsc_schema.tests.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dsc/tests/dsc_schema.tests.ps1 b/dsc/tests/dsc_schema.tests.ps1 index 6a707a803..43c3b5631 100644 --- a/dsc/tests/dsc_schema.tests.ps1 +++ b/dsc/tests/dsc_schema.tests.ps1 @@ -7,7 +7,7 @@ Describe 'config schema tests' { $LASTEXITCODE | Should -Be 0 $schema | Should -Not -BeNullOrEmpty $schema = $schema | ConvertFrom-Json - $schema.'$schema' | Should -BeExactly 'http://json-schema.org/draft-07/schema#' + $schema.'$schema' | Should -BeExactly 'https://json-schema.org/draft/2020-12/schema' } It 'return dsc schema: ' -Skip:(!$IsWindows) -TestCases @( @@ -26,7 +26,7 @@ Describe 'config schema tests' { $LASTEXITCODE | Should -Be 0 $schema | Should -Not -BeNullOrEmpty $schema = $schema | ConvertFrom-Json - $schema.'$schema' | Should -BeExactly 'http://json-schema.org/draft-07/schema#' + $schema.'$schema' | Should -BeExactly 'https://json-schema.org/draft/2020-12/schema' } It 'can accept the use of --output-format as a subcommand' { @@ -34,6 +34,6 @@ Describe 'config schema tests' { $LASTEXITCODE | Should -Be 0 $schema | Should -Not -BeNullOrEmpty $schema = $schema | ConvertFrom-Json - $schema.'$schema' | Should -BeExactly 'http://json-schema.org/draft-07/schema#' + $schema.'$schema' | Should -BeExactly 'https://json-schema.org/draft/2020-12/schema' } }