diff --git a/.github/workflows/parquet-variant.yml b/.github/workflows/parquet-variant.yml index 6fc5c3a8cd00..3c3733d0006f 100644 --- a/.github/workflows/parquet-variant.yml +++ b/.github/workflows/parquet-variant.yml @@ -46,8 +46,11 @@ jobs: submodules: true - name: Setup Rust toolchain uses: ./.github/actions/setup-builder - - name: Test + + - name: Test parquet-variant run: cargo test -p parquet-variant + - name: Test parquet-variant with all features + run: cargo test -p parquet-variant --all-features # test compilation linux-features: diff --git a/parquet-variant/Cargo.toml b/parquet-variant/Cargo.toml index 708b614cf4b7..29f26fc2c03b 100644 --- a/parquet-variant/Cargo.toml +++ b/parquet-variant/Cargo.toml @@ -35,10 +35,14 @@ rust-version = "1.83" [dependencies] arrow-schema = { workspace = true } chrono = { workspace = true } -serde_json = "1.0" +serde_json = { version = "1.0", optional = true } base64 = "0.22" indexmap = "2.10.0" +[features] +default = [] + +serde_json = ["dep:serde_json"] [lib] name = "parquet_variant" diff --git a/parquet-variant/src/lib.rs b/parquet-variant/src/lib.rs index 8ce3008655d4..25022d745c1e 100644 --- a/parquet-variant/src/lib.rs +++ b/parquet-variant/src/lib.rs @@ -33,10 +33,12 @@ mod decoder; mod variant; // TODO: dead code removal mod builder; +#[cfg(feature = "serde_json")] mod to_json; #[allow(dead_code)] mod utils; pub use builder::*; +#[cfg(feature = "serde_json")] pub use to_json::{variant_to_json, variant_to_json_string, variant_to_json_value}; pub use variant::*;