diff --git a/Cargo.toml b/Cargo.toml index f79e1f2896c1..ff231178a2b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,6 +51,11 @@ rust-version = "1.72" version = "36.0.0" [workspace.dependencies] +# We turn off default-features for some dependencies here so the workspaces which inherit them can +# selectively turn them on if needed, since we can override default-features = true (from false) +# for the inherited dependency but cannot do the reverse (override from true to false). +# +# See for more detaiils: https://github.com/rust-lang/cargo/issues/11329 arrow = { version = "50.0.0", features = ["prettyprint"] } arrow-array = { version = "50.0.0", default-features = false, features = ["chrono-tz"] } arrow-buffer = { version = "50.0.0", default-features = false } @@ -65,14 +70,14 @@ bytes = "1.4" chrono = { version = "0.4.34", default-features = false } ctor = "0.2.0" dashmap = "5.4.0" -datafusion = { path = "datafusion/core", version = "36.0.0" } -datafusion-common = { path = "datafusion/common", version = "36.0.0" } +datafusion = { path = "datafusion/core", version = "36.0.0", default-features = false } +datafusion-common = { path = "datafusion/common", version = "36.0.0", default-features = false } datafusion-execution = { path = "datafusion/execution", version = "36.0.0" } datafusion-expr = { path = "datafusion/expr", version = "36.0.0" } datafusion-functions = { path = "datafusion/functions", version = "36.0.0" } datafusion-functions-array = { path = "datafusion/functions-array", version = "36.0.0" } -datafusion-optimizer = { path = "datafusion/optimizer", version = "36.0.0" } -datafusion-physical-expr = { path = "datafusion/physical-expr", version = "36.0.0" } +datafusion-optimizer = { path = "datafusion/optimizer", version = "36.0.0", default-features = false } +datafusion-physical-expr = { path = "datafusion/physical-expr", version = "36.0.0", default-features = false } datafusion-physical-plan = { path = "datafusion/physical-plan", version = "36.0.0" } datafusion-proto = { path = "datafusion/proto", version = "36.0.0" } datafusion-sql = { path = "datafusion/sql", version = "36.0.0" } @@ -81,7 +86,7 @@ datafusion-substrait = { path = "datafusion/substrait", version = "36.0.0" } doc-comment = "0.3" env_logger = "0.11" futures = "0.3" -half = "2.2.1" +half = { version = "2.2.1", default-features = false } indexmap = "2.0.0" itertools = "0.12" log = "^0.4" diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml index 90ff83bd53d7..a9fbab1ce41f 100644 --- a/benchmarks/Cargo.toml +++ b/benchmarks/Cargo.toml @@ -18,12 +18,12 @@ [package] name = "datafusion-benchmarks" description = "DataFusion Benchmarks" -version = "36.0.0" +version = { workspace = true } edition = { workspace = true } -authors = ["Apache Arrow "] -homepage = "https://github.com/apache/arrow-datafusion" -repository = "https://github.com/apache/arrow-datafusion" -license = "Apache-2.0" +authors = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } rust-version = { workspace = true } [features] @@ -33,8 +33,8 @@ snmalloc = ["snmalloc-rs"] [dependencies] arrow = { workspace = true } -datafusion = { path = "../datafusion/core", version = "36.0.0" } -datafusion-common = { path = "../datafusion/common", version = "36.0.0" } +datafusion = { workspace = true, default-features = true } +datafusion-common = { workspace = true, default-features = true } env_logger = { workspace = true } futures = { workspace = true } log = { workspace = true } @@ -49,4 +49,4 @@ test-utils = { path = "../test-utils/", version = "0.1.0" } tokio = { workspace = true, features = ["rt-multi-thread", "parking_lot"] } [dev-dependencies] -datafusion-proto = { path = "../datafusion/proto", version = "36.0.0" } +datafusion-proto = { workspace = true } diff --git a/datafusion-examples/Cargo.toml b/datafusion-examples/Cargo.toml index ff18ce6d47dc..ad2a49fb352e 100644 --- a/datafusion-examples/Cargo.toml +++ b/datafusion-examples/Cargo.toml @@ -56,12 +56,12 @@ arrow-schema = { workspace = true } async-trait = { workspace = true } bytes = { workspace = true } dashmap = { workspace = true } -datafusion = { path = "../datafusion/core", features = ["avro"] } -datafusion-common = { path = "../datafusion/common" } -datafusion-expr = { path = "../datafusion/expr" } -datafusion-optimizer = { path = "../datafusion/optimizer" } -datafusion-physical-expr = { workspace = true } -datafusion-sql = { path = "../datafusion/sql" } +datafusion = { workspace = true, default-features = true, features = ["avro"] } +datafusion-common = { workspace = true, default-features = true } +datafusion-expr = { workspace = true } +datafusion-optimizer = { workspace = true, default-features = true } +datafusion-physical-expr = { workspace = true, default-features = true } +datafusion-sql = { workspace = true } env_logger = { workspace = true } futures = { workspace = true } log = { workspace = true } diff --git a/datafusion/common/Cargo.toml b/datafusion/common/Cargo.toml index 7b1a1586ba62..167307f37108 100644 --- a/datafusion/common/Cargo.toml +++ b/datafusion/common/Cargo.toml @@ -52,7 +52,7 @@ arrow-array = { workspace = true } arrow-buffer = { workspace = true } arrow-schema = { workspace = true } chrono = { workspace = true } -half = { version = "2.1", default-features = false } +half = { workspace = true } libc = "0.2.140" num_cpus = { workspace = true } object_store = { workspace = true, optional = true } @@ -64,4 +64,4 @@ sqlparser = { workspace = true } instant = { version = "0.1", features = ["wasm-bindgen"] } [dev-dependencies] -rand = "0.8.4" +rand = { workspace = true } diff --git a/datafusion/core/Cargo.toml b/datafusion/core/Cargo.toml index 096c281c6ae9..019b4e58728c 100644 --- a/datafusion/core/Cargo.toml +++ b/datafusion/core/Cargo.toml @@ -86,19 +86,19 @@ bytes = { workspace = true } bzip2 = { version = "0.4.3", optional = true } chrono = { workspace = true } dashmap = { workspace = true } -datafusion-common = { path = "../common", version = "36.0.0", features = ["object_store"], default-features = false } +datafusion-common = { workspace = true, features = ["object_store"] } datafusion-execution = { workspace = true } datafusion-expr = { workspace = true } datafusion-functions = { workspace = true } datafusion-functions-array = { workspace = true, optional = true } -datafusion-optimizer = { path = "../optimizer", version = "36.0.0", default-features = false } -datafusion-physical-expr = { path = "../physical-expr", version = "36.0.0", default-features = false } +datafusion-optimizer = { workspace = true } +datafusion-physical-expr = { workspace = true } datafusion-physical-plan = { workspace = true } datafusion-sql = { workspace = true } flate2 = { version = "1.0.24", optional = true } futures = { workspace = true } glob = "0.3.0" -half = { version = "2.1", default-features = false } +half = { workspace = true } hashbrown = { version = "0.14", features = ["raw"] } indexmap = { workspace = true } itertools = { workspace = true } @@ -128,10 +128,10 @@ csv = "1.1.6" ctor = { workspace = true } doc-comment = { workspace = true } env_logger = { workspace = true } -half = { workspace = true } +half = { workspace = true, default-features = true } postgres-protocol = "0.6.4" postgres-types = { version = "0.2.4", features = ["derive", "with-chrono-0_4"] } -rand = { version = "0.8", features = ["small_rng"] } +rand = { workspace = true, features = ["small_rng"] } rand_distr = "0.4.3" regex = "1.5.4" rstest = { workspace = true } diff --git a/datafusion/execution/Cargo.toml b/datafusion/execution/Cargo.toml index 5c3360e681d1..84c878bf10dc 100644 --- a/datafusion/execution/Cargo.toml +++ b/datafusion/execution/Cargo.toml @@ -36,7 +36,7 @@ path = "src/lib.rs" arrow = { workspace = true } chrono = { workspace = true } dashmap = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-expr = { workspace = true } futures = { workspace = true } hashbrown = { version = "0.14", features = ["raw"] } diff --git a/datafusion/expr/Cargo.toml b/datafusion/expr/Cargo.toml index 4c9d00499e00..6e430943cf5c 100644 --- a/datafusion/expr/Cargo.toml +++ b/datafusion/expr/Cargo.toml @@ -40,7 +40,7 @@ ahash = { version = "0.8", default-features = false, features = [ ] } arrow = { workspace = true } arrow-array = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } paste = "^1.0" sqlparser = { workspace = true } strum = { version = "0.26.1", features = ["derive"] } diff --git a/datafusion/functions-array/Cargo.toml b/datafusion/functions-array/Cargo.toml index 9cf769bf294e..70d676c6d270 100644 --- a/datafusion/functions-array/Cargo.toml +++ b/datafusion/functions-array/Cargo.toml @@ -38,8 +38,8 @@ path = "src/lib.rs" [dependencies] arrow = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-execution = { workspace = true } datafusion-expr = { workspace = true } -log = "0.4.20" +log = { workspace = true } paste = "1.0.14" diff --git a/datafusion/functions/Cargo.toml b/datafusion/functions/Cargo.toml index 89b7de9ee11a..c7edb52fc73e 100644 --- a/datafusion/functions/Cargo.toml +++ b/datafusion/functions/Cargo.toml @@ -48,8 +48,8 @@ path = "src/lib.rs" [dependencies] arrow = { workspace = true } base64 = { version = "0.21", optional = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-execution = { workspace = true } datafusion-expr = { workspace = true } hex = { version = "0.4", optional = true } -log = "0.4.20" +log = { workspace = true } diff --git a/datafusion/optimizer/Cargo.toml b/datafusion/optimizer/Cargo.toml index 7235dddc8dd4..861715b351a6 100644 --- a/datafusion/optimizer/Cargo.toml +++ b/datafusion/optimizer/Cargo.toml @@ -42,9 +42,9 @@ unicode_expressions = ["datafusion-physical-expr/unicode_expressions"] arrow = { workspace = true } async-trait = { workspace = true } chrono = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-expr = { workspace = true } -datafusion-physical-expr = { path = "../physical-expr", version = "36.0.0", default-features = false } +datafusion-physical-expr = { workspace = true } hashbrown = { version = "0.14", features = ["raw"] } itertools = { workspace = true } log = { workspace = true } @@ -52,5 +52,5 @@ regex-syntax = "0.8.0" [dev-dependencies] ctor = { workspace = true } -datafusion-sql = { path = "../sql", version = "36.0.0" } -env_logger = "0.11.0" +datafusion-sql = { workspace = true } +env_logger = { workspace = true } diff --git a/datafusion/physical-expr/Cargo.toml b/datafusion/physical-expr/Cargo.toml index a46ad42f67c3..d48361ed15a9 100644 --- a/datafusion/physical-expr/Cargo.toml +++ b/datafusion/physical-expr/Cargo.toml @@ -58,14 +58,14 @@ base64 = { version = "0.21", optional = true } blake2 = { version = "^0.10.2", optional = true } blake3 = { version = "1.0", optional = true } chrono = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-execution = { workspace = true } datafusion-expr = { workspace = true } -half = { version = "2.1", default-features = false } +half = { workspace = true } hashbrown = { version = "0.14", features = ["raw"] } hex = { version = "0.4", optional = true } indexmap = { workspace = true } -itertools = { version = "0.12", features = ["use_std"] } +itertools = { workspace = true, features = ["use_std"] } log = { workspace = true } md-5 = { version = "^0.10.0", optional = true } paste = "^1.0" diff --git a/datafusion/physical-plan/Cargo.toml b/datafusion/physical-plan/Cargo.toml index 59c7a9671a91..b4621109d2b1 100644 --- a/datafusion/physical-plan/Cargo.toml +++ b/datafusion/physical-plan/Cargo.toml @@ -42,15 +42,15 @@ arrow-buffer = { workspace = true } arrow-schema = { workspace = true } async-trait = { workspace = true } chrono = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-execution = { workspace = true } datafusion-expr = { workspace = true } -datafusion-physical-expr = { workspace = true } +datafusion-physical-expr = { workspace = true, default-features = true } futures = { workspace = true } -half = { version = "2.1", default-features = false } +half = { workspace = true } hashbrown = { version = "0.14", features = ["raw"] } indexmap = { workspace = true } -itertools = { version = "0.12", features = ["use_std"] } +itertools = { workspace = true, features = ["use_std"] } log = { workspace = true } once_cell = "1.18.0" parking_lot = { workspace = true } diff --git a/datafusion/proto/Cargo.toml b/datafusion/proto/Cargo.toml index 59a9129c6d7a..f5297aefcd1c 100644 --- a/datafusion/proto/Cargo.toml +++ b/datafusion/proto/Cargo.toml @@ -44,8 +44,8 @@ parquet = ["datafusion/parquet", "datafusion-common/parquet"] [dependencies] arrow = { workspace = true } chrono = { workspace = true } -datafusion = { path = "../core", version = "36.0.0" } -datafusion-common = { workspace = true } +datafusion = { workspace = true, default-features = true } +datafusion-common = { workspace = true, default-features = true } datafusion-expr = { workspace = true } object_store = { workspace = true } pbjson = { version = "0.6.0", optional = true } diff --git a/datafusion/proto/gen/Cargo.toml b/datafusion/proto/gen/Cargo.toml index c80bd50af287..0feece4218d9 100644 --- a/datafusion/proto/gen/Cargo.toml +++ b/datafusion/proto/gen/Cargo.toml @@ -21,10 +21,10 @@ description = "Code generation for proto" version = "0.1.0" edition = { workspace = true } rust-version = "1.72" -authors = ["Apache Arrow "] -homepage = "https://github.com/apache/arrow-datafusion" -repository = "https://github.com/apache/arrow-datafusion" -license = "Apache-2.0" +authors = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/datafusion/sql/Cargo.toml b/datafusion/sql/Cargo.toml index b91a2ac1fbd7..fb300e2c8791 100644 --- a/datafusion/sql/Cargo.toml +++ b/datafusion/sql/Cargo.toml @@ -39,7 +39,7 @@ unicode_expressions = [] [dependencies] arrow = { workspace = true } arrow-schema = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-expr = { workspace = true } log = { workspace = true } sqlparser = { workspace = true } @@ -48,4 +48,4 @@ sqlparser = { workspace = true } ctor = { workspace = true } env_logger = { workspace = true } paste = "^1.0" -rstest = "0.18" +rstest = { workspace = true } diff --git a/datafusion/sqllogictest/Cargo.toml b/datafusion/sqllogictest/Cargo.toml index 7c54d6bf355b..12c4c96d5236 100644 --- a/datafusion/sqllogictest/Cargo.toml +++ b/datafusion/sqllogictest/Cargo.toml @@ -34,13 +34,13 @@ path = "src/lib.rs" arrow = { workspace = true } async-trait = { workspace = true } bigdecimal = { workspace = true } -bytes = { version = "1.4.0", optional = true } +bytes = { workspace = true, optional = true } chrono = { workspace = true, optional = true } clap = { version = "4.4.8", features = ["derive", "env"] } -datafusion = { path = "../core", version = "36.0.0" } -datafusion-common = { workspace = true } -futures = { version = "0.3.28" } -half = { workspace = true } +datafusion = { workspace = true, default-features = true } +datafusion-common = { workspace = true, default-features = true } +futures = { workspace = true } +half = { workspace = true, default-features = true } itertools = { workspace = true } log = { workspace = true } object_store = { workspace = true } diff --git a/datafusion/substrait/Cargo.toml b/datafusion/substrait/Cargo.toml index 0acee202622f..21383c0d6d13 100644 --- a/datafusion/substrait/Cargo.toml +++ b/datafusion/substrait/Cargo.toml @@ -31,7 +31,7 @@ rust-version = "1.72" [dependencies] async-recursion = "1.0" chrono = { workspace = true } -datafusion = { workspace = true } +datafusion = { workspace = true, default-features = true } itertools = { workspace = true } object_store = { workspace = true } prost = "0.12" diff --git a/datafusion/wasmtest/Cargo.toml b/datafusion/wasmtest/Cargo.toml index ed5dcc21a22c..2f8521b19b74 100644 --- a/datafusion/wasmtest/Cargo.toml +++ b/datafusion/wasmtest/Cargo.toml @@ -39,13 +39,13 @@ chrono = { version = "0.4", features = ["wasmbind"] } # all the `std::fmt` and `std::panicking` infrastructure, so isn't great for # code size when deploying. console_error_panic_hook = { version = "0.1.1", optional = true } -datafusion = { path = "../core", default-features = false } +datafusion = { workspace = true } -datafusion-common = { workspace = true } +datafusion-common = { workspace = true, default-features = true } datafusion-execution = { workspace = true } datafusion-expr = { workspace = true } -datafusion-optimizer = { workspace = true } -datafusion-physical-expr = { workspace = true } +datafusion-optimizer = { workspace = true, default-features = true } +datafusion-physical-expr = { workspace = true, default-features = true } datafusion-physical-plan = { workspace = true } datafusion-sql = { workspace = true } diff --git a/docs/Cargo.toml b/docs/Cargo.toml index 39f4520ff7b2..d5e114075c95 100644 --- a/docs/Cargo.toml +++ b/docs/Cargo.toml @@ -29,4 +29,4 @@ authors = { workspace = true } rust-version = { workspace = true } [dependencies] -datafusion = { path = "../datafusion/core", version = "36.0.0", default-features = false } +datafusion = { workspace = true } diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml index de6310312b5a..1e86457f844a 100644 --- a/test-utils/Cargo.toml +++ b/test-utils/Cargo.toml @@ -24,6 +24,6 @@ edition = { workspace = true } [dependencies] arrow = { workspace = true } -datafusion-common = { path = "../datafusion/common" } -env_logger = "0.11.0" +datafusion-common = { workspace = true, default-features = true } +env_logger = { workspace = true } rand = { workspace = true }