This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new e98625cb0e Minor: Extract common deps into workspace (#7982)
e98625cb0e is described below
commit e98625cb0ecab970c9b13e8a4c2a49c37d2505b2
Author: 张林伟 <[email protected]>
AuthorDate: Thu Nov 2 00:18:23 2023 +0800
Minor: Extract common deps into workspace (#7982)
* Improve datafusion-*
* More common crates
* Extract async-trait
* Extract more
* Fix cli
---------
Co-authored-by: Andrew Lamb <[email protected]>
---
Cargo.toml | 32 +++++++++++++++++++++++
benchmarks/Cargo.toml | 10 +++----
datafusion-examples/Cargo.toml | 20 +++++++-------
datafusion/common/Cargo.toml | 2 +-
datafusion/core/Cargo.toml | 52 ++++++++++++++++++-------------------
datafusion/execution/Cargo.toml | 20 +++++++-------
datafusion/expr/Cargo.toml | 6 ++---
datafusion/optimizer/Cargo.toml | 12 ++++-----
datafusion/physical-expr/Cargo.toml | 14 +++++-----
datafusion/physical-plan/Cargo.toml | 22 ++++++++--------
datafusion/proto/Cargo.toml | 8 +++---
datafusion/sql/Cargo.toml | 10 +++----
datafusion/sqllogictest/Cargo.toml | 22 ++++++++--------
datafusion/substrait/Cargo.toml | 6 ++---
datafusion/wasmtest/Cargo.toml | 10 +++----
test-utils/Cargo.toml | 2 +-
16 files changed, 140 insertions(+), 108 deletions(-)
diff --git a/Cargo.toml b/Cargo.toml
index 22d5f2f644..1a2f4a84af 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -54,9 +54,41 @@ arrow-array = { version = "48.0.0", default-features =
false, features = ["chron
arrow-buffer = { version = "48.0.0", default-features = false }
arrow-flight = { version = "48.0.0", features = ["flight-sql-experimental"] }
arrow-schema = { version = "48.0.0", default-features = false }
+async-trait = "0.1.73"
+bigdecimal = "0.4.1"
+bytes = "1.4"
+ctor = "0.2.0"
+datafusion = { path = "datafusion/core" }
+datafusion-common = { path = "datafusion/common" }
+datafusion-expr = { path = "datafusion/expr" }
+datafusion-sql = { path = "datafusion/sql" }
+datafusion-optimizer = { path = "datafusion/optimizer" }
+datafusion-physical-expr = { path = "datafusion/physical-expr" }
+datafusion-physical-plan = { path = "datafusion/physical-plan" }
+datafusion-execution = { path = "datafusion/execution" }
+datafusion-proto = { path = "datafusion/proto" }
+datafusion-sqllogictest = { path = "datafusion/sqllogictest" }
+datafusion-substrait = { path = "datafusion/substrait" }
+dashmap = "5.4.0"
+doc-comment = "0.3"
+env_logger = "0.10"
+futures = "0.3"
+half = "2.2.1"
+indexmap = "2.0.0"
+itertools = "0.11"
+log = "^0.4"
+num_cpus = "1.13.0"
+object_store = "0.7.0"
+parking_lot = "0.12"
parquet = { version = "48.0.0", features = ["arrow", "async", "object_store"] }
+rand = "0.8"
+rstest = "0.18.0"
+serde_json = "1"
sqlparser = { version = "0.39.0", features = ["visitor"] }
+tempfile = "3"
+thiserror = "1.0.44"
chrono = { version = "0.4.31", default-features = false }
+url = "2.2"
[profile.release]
codegen-units = 1
diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml
index 0def335521..ce0a4267fc 100644
--- a/benchmarks/Cargo.toml
+++ b/benchmarks/Cargo.toml
@@ -36,14 +36,14 @@ snmalloc = ["snmalloc-rs"]
arrow = { workspace = true }
datafusion = { path = "../datafusion/core", version = "32.0.0" }
datafusion-common = { path = "../datafusion/common", version = "32.0.0" }
-env_logger = "0.10"
-futures = "0.3"
-log = "^0.4"
+env_logger = { workspace = true }
+futures = { workspace = true }
+log = { workspace = true }
mimalloc = { version = "0.1", optional = true, default-features = false }
-num_cpus = "1.13.0"
+num_cpus = { workspace = true }
parquet = { workspace = true }
serde = { version = "1.0.136", features = ["derive"] }
-serde_json = "1.0.78"
+serde_json = { workspace = true }
snmalloc-rs = { version = "0.3", optional = true }
structopt = { version = "0.3", default-features = false }
test-utils = { path = "../test-utils/", version = "0.1.0" }
diff --git a/datafusion-examples/Cargo.toml b/datafusion-examples/Cargo.toml
index 7350c4ab98..57691520a4 100644
--- a/datafusion-examples/Cargo.toml
+++ b/datafusion-examples/Cargo.toml
@@ -33,26 +33,26 @@ rust-version = { workspace = true }
arrow = { workspace = true }
arrow-flight = { workspace = true }
arrow-schema = { workspace = true }
-async-trait = "0.1.41"
-bytes = "1.4"
-dashmap = "5.4"
+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-sql = { path = "../datafusion/sql" }
-env_logger = "0.10"
-futures = "0.3"
-log = "0.4"
+env_logger = { workspace = true }
+futures = { workspace = true }
+log = { workspace = true }
mimalloc = { version = "0.1", default-features = false }
-num_cpus = "1.13.0"
+num_cpus = { workspace = true }
object_store = { version = "0.7.0", features = ["aws", "http"] }
prost = { version = "0.12", default-features = false }
prost-derive = { version = "0.11", default-features = false }
serde = { version = "1.0.136", features = ["derive"] }
-serde_json = "1.0.82"
-tempfile = "3"
+serde_json = { workspace = true }
+tempfile = { workspace = true }
tokio = { version = "1.0", features = ["macros", "rt", "rt-multi-thread",
"sync", "parking_lot"] }
tonic = "0.10"
-url = "2.2"
+url = { workspace = true }
uuid = "1.2"
diff --git a/datafusion/common/Cargo.toml b/datafusion/common/Cargo.toml
index 87087c50a2..d04db86b78 100644
--- a/datafusion/common/Cargo.toml
+++ b/datafusion/common/Cargo.toml
@@ -46,7 +46,7 @@ arrow-buffer = { workspace = true }
arrow-schema = { workspace = true }
chrono = { workspace = true }
half = { version = "2.1", default-features = false }
-num_cpus = "1.13.0"
+num_cpus = { workspace = true }
object_store = { version = "0.7.0", default-features = false, optional = true }
parquet = { workspace = true, optional = true }
pyo3 = { version = "0.20.0", optional = true }
diff --git a/datafusion/core/Cargo.toml b/datafusion/core/Cargo.toml
index f1542fca00..4015ba439e 100644
--- a/datafusion/core/Cargo.toml
+++ b/datafusion/core/Cargo.toml
@@ -57,61 +57,61 @@ arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-schema = { workspace = true }
async-compression = { version = "0.4.0", features = ["bzip2", "gzip", "xz",
"zstd", "futures-io", "tokio"], optional = true }
-async-trait = "0.1.73"
-bytes = "1.4"
+async-trait = { workspace = true }
+bytes = { workspace = true }
bzip2 = { version = "0.4.3", optional = true }
chrono = { workspace = true }
-dashmap = "5.4.0"
+dashmap = { workspace = true }
datafusion-common = { path = "../common", version = "32.0.0", features =
["object_store"], default-features = false }
-datafusion-execution = { path = "../execution", version = "32.0.0" }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
+datafusion-execution = { workspace = true }
+datafusion-expr = { workspace = true }
datafusion-optimizer = { path = "../optimizer", version = "32.0.0",
default-features = false }
datafusion-physical-expr = { path = "../physical-expr", version = "32.0.0",
default-features = false }
-datafusion-physical-plan = { path = "../physical-plan", version = "32.0.0",
default-features = false }
-datafusion-sql = { path = "../sql", version = "32.0.0" }
+datafusion-physical-plan = { workspace = true }
+datafusion-sql = { workspace = true }
flate2 = { version = "1.0.24", optional = true }
-futures = "0.3"
+futures = { workspace = true }
glob = "0.3.0"
half = { version = "2.1", default-features = false }
hashbrown = { version = "0.14", features = ["raw"] }
-indexmap = "2.0.0"
-itertools = "0.11"
-log = "^0.4"
+indexmap = { workspace = true }
+itertools = { workspace = true }
+log = { workspace = true }
num-traits = { version = "0.2", optional = true }
-num_cpus = "1.13.0"
-object_store = "0.7.0"
-parking_lot = "0.12"
+num_cpus = { workspace = true }
+object_store = { workspace = true }
+parking_lot = { workspace = true }
parquet = { workspace = true, optional = true }
pin-project-lite = "^0.2.7"
-rand = "0.8"
+rand = { workspace = true }
sqlparser = { workspace = true }
-tempfile = "3"
+tempfile = { workspace = true }
tokio = { version = "1.28", features = ["macros", "rt", "rt-multi-thread",
"sync", "fs", "parking_lot"] }
tokio-util = { version = "0.7.4", features = ["io"] }
-url = "2.2"
+url = { workspace = true }
uuid = { version = "1.0", features = ["v4"] }
xz2 = { version = "0.1", optional = true }
zstd = { version = "0.13", optional = true, default-features = false }
[dev-dependencies]
-async-trait = "0.1.53"
-bigdecimal = "0.4.1"
+async-trait = { workspace = true }
+bigdecimal = { workspace = true }
criterion = { version = "0.5", features = ["async_tokio"] }
csv = "1.1.6"
-ctor = "0.2.0"
-doc-comment = "0.3"
-env_logger = "0.10"
-half = "2.2.1"
+ctor = { workspace = true }
+doc-comment = { workspace = true }
+env_logger = { workspace = true }
+half = { workspace = 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_distr = "0.4.3"
regex = "1.5.4"
-rstest = "0.18.0"
+rstest = { workspace = true }
rust_decimal = { version = "1.27.0", features = ["tokio-pg"] }
-serde_json = "1"
+serde_json = { workspace = true }
test-utils = { path = "../../test-utils" }
-thiserror = "1.0.37"
+thiserror = { workspace = true }
tokio-postgres = "0.7.7"
[target.'cfg(not(target_os = "windows"))'.dev-dependencies]
nix = { version = "0.27.1", features = ["fs"] }
diff --git a/datafusion/execution/Cargo.toml b/datafusion/execution/Cargo.toml
index 54a2a6d8f3..e9bb87e9f8 100644
--- a/datafusion/execution/Cargo.toml
+++ b/datafusion/execution/Cargo.toml
@@ -35,14 +35,14 @@ path = "src/lib.rs"
[dependencies]
arrow = { workspace = true }
chrono = { version = "0.4", default-features = false }
-dashmap = "5.4.0"
-datafusion-common = { path = "../common", version = "32.0.0" }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
-futures = "0.3"
+dashmap = { workspace = true }
+datafusion-common = { workspace = true }
+datafusion-expr = { workspace = true }
+futures = { workspace = true }
hashbrown = { version = "0.14", features = ["raw"] }
-log = "^0.4"
-object_store = "0.7.0"
-parking_lot = "0.12"
-rand = "0.8"
-tempfile = "3"
-url = "2.2"
+log = { workspace = true }
+object_store = { workspace = true }
+parking_lot = { workspace = true }
+rand = { workspace = true }
+tempfile = { workspace = true }
+url = { workspace = true }
diff --git a/datafusion/expr/Cargo.toml b/datafusion/expr/Cargo.toml
index a7919a557a..5b1b421538 100644
--- a/datafusion/expr/Cargo.toml
+++ b/datafusion/expr/Cargo.toml
@@ -38,11 +38,11 @@ path = "src/lib.rs"
ahash = { version = "0.8", default-features = false, features =
["runtime-rng"] }
arrow = { workspace = true }
arrow-array = { workspace = true }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
+datafusion-common = { workspace = true }
sqlparser = { workspace = true }
strum = { version = "0.25.0", features = ["derive"] }
strum_macros = "0.25.0"
[dev-dependencies]
-ctor = "0.2.0"
-env_logger = "0.10"
+ctor = { workspace = true }
+env_logger = { workspace = true }
diff --git a/datafusion/optimizer/Cargo.toml b/datafusion/optimizer/Cargo.toml
index dce05058b8..797dd17a26 100644
--- a/datafusion/optimizer/Cargo.toml
+++ b/datafusion/optimizer/Cargo.toml
@@ -40,17 +40,17 @@ unicode_expressions =
["datafusion-physical-expr/unicode_expressions"]
[dependencies]
arrow = { workspace = true }
-async-trait = "0.1.41"
+async-trait = { workspace = true }
chrono = { workspace = true }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
+datafusion-common = { workspace = true }
+datafusion-expr = { workspace = true }
datafusion-physical-expr = { path = "../physical-expr", version = "32.0.0",
default-features = false }
hashbrown = { version = "0.14", features = ["raw"] }
-itertools = "0.11"
-log = "^0.4"
+itertools = { workspace = true }
+log = { workspace = true }
regex-syntax = "0.8.0"
[dev-dependencies]
-ctor = "0.2.0"
+ctor = { workspace = true }
datafusion-sql = { path = "../sql", version = "32.0.0" }
env_logger = "0.10.0"
diff --git a/datafusion/physical-expr/Cargo.toml
b/datafusion/physical-expr/Cargo.toml
index f7c0221756..4be625e384 100644
--- a/datafusion/physical-expr/Cargo.toml
+++ b/datafusion/physical-expr/Cargo.toml
@@ -49,19 +49,19 @@ base64 = { version = "0.21", optional = true }
blake2 = { version = "^0.10.2", optional = true }
blake3 = { version = "1.0", optional = true }
chrono = { workspace = true }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
+datafusion-common = { workspace = true }
+datafusion-expr = { workspace = true }
half = { version = "2.1", default-features = false }
hashbrown = { version = "0.14", features = ["raw"] }
hex = { version = "0.4", optional = true }
-indexmap = "2.0.0"
+indexmap = { workspace = true }
itertools = { version = "0.11", features = ["use_std"] }
libc = "0.2.140"
-log = "^0.4"
+log = { workspace = true }
md-5 = { version = "^0.10.0", optional = true }
paste = "^1.0"
petgraph = "0.6.2"
-rand = "0.8"
+rand = { workspace = true }
regex = { version = "1.8", optional = true }
sha2 = { version = "^0.10.1", optional = true }
unicode-segmentation = { version = "^1.7.1", optional = true }
@@ -69,8 +69,8 @@ uuid = { version = "^1.2", features = ["v4"] }
[dev-dependencies]
criterion = "0.5"
-rand = "0.8"
-rstest = "0.18.0"
+rand = { workspace = true }
+rstest = { workspace = true }
[[bench]]
harness = false
diff --git a/datafusion/physical-plan/Cargo.toml
b/datafusion/physical-plan/Cargo.toml
index 033d2aa187..82c8f49a76 100644
--- a/datafusion/physical-plan/Cargo.toml
+++ b/datafusion/physical-plan/Cargo.toml
@@ -38,26 +38,26 @@ arrow = { workspace = true }
arrow-array = { workspace = true }
arrow-buffer = { workspace = true }
arrow-schema = { workspace = true }
-async-trait = "0.1.41"
+async-trait = { workspace = true }
chrono = { version = "0.4.23", default-features = false }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
-datafusion-execution = { path = "../execution", version = "32.0.0" }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
-datafusion-physical-expr = { path = "../physical-expr", version = "32.0.0" }
-futures = "0.3"
+datafusion-common = { workspace = true }
+datafusion-execution = { workspace = true }
+datafusion-expr = { workspace = true }
+datafusion-physical-expr = { workspace = true }
+futures = { workspace = true }
half = { version = "2.1", default-features = false }
hashbrown = { version = "0.14", features = ["raw"] }
-indexmap = "2.0.0"
+indexmap = { workspace = true }
itertools = { version = "0.11", features = ["use_std"] }
-log = "^0.4"
+log = { workspace = true }
once_cell = "1.18.0"
-parking_lot = "0.12"
+parking_lot = { workspace = true }
pin-project-lite = "^0.2.7"
-rand = "0.8"
+rand = { workspace = true }
tokio = { version = "1.28", features = ["sync", "fs", "parking_lot"] }
uuid = { version = "^1.2", features = ["v4"] }
[dev-dependencies]
-rstest = "0.18.0"
+rstest = { workspace = true }
termtree = "0.4.1"
tokio = { version = "1.28", features = ["macros", "rt", "rt-multi-thread",
"sync", "fs", "parking_lot"] }
diff --git a/datafusion/proto/Cargo.toml b/datafusion/proto/Cargo.toml
index 5e52dadc0b..72a4df66eb 100644
--- a/datafusion/proto/Cargo.toml
+++ b/datafusion/proto/Cargo.toml
@@ -44,14 +44,14 @@ parquet = ["datafusion/parquet",
"datafusion-common/parquet"]
arrow = { workspace = true }
chrono = { workspace = true }
datafusion = { path = "../core", version = "32.0.0" }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
+datafusion-common = { workspace = true }
+datafusion-expr = { workspace = true }
object_store = { version = "0.7.0" }
pbjson = { version = "0.5", optional = true }
prost = "0.12.0"
serde = { version = "1.0", optional = true }
-serde_json = { version = "1.0", optional = true }
+serde_json = { workspace = true, optional = true }
[dev-dependencies]
-doc-comment = "0.3"
+doc-comment = { workspace = true }
tokio = "1.18"
diff --git a/datafusion/sql/Cargo.toml b/datafusion/sql/Cargo.toml
index fe60feb6ab..b91a2ac1fb 100644
--- a/datafusion/sql/Cargo.toml
+++ b/datafusion/sql/Cargo.toml
@@ -39,13 +39,13 @@ unicode_expressions = []
[dependencies]
arrow = { workspace = true }
arrow-schema = { workspace = true }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
-datafusion-expr = { path = "../expr", version = "32.0.0" }
-log = "^0.4"
+datafusion-common = { workspace = true }
+datafusion-expr = { workspace = true }
+log = { workspace = true }
sqlparser = { workspace = true }
[dev-dependencies]
-ctor = "0.2.0"
-env_logger = "0.10"
+ctor = { workspace = true }
+env_logger = { workspace = true }
paste = "^1.0"
rstest = "0.18"
diff --git a/datafusion/sqllogictest/Cargo.toml
b/datafusion/sqllogictest/Cargo.toml
index f1a7303514..07debf1795 100644
--- a/datafusion/sqllogictest/Cargo.toml
+++ b/datafusion/sqllogictest/Cargo.toml
@@ -32,24 +32,24 @@ path = "src/lib.rs"
[dependencies]
arrow = { workspace = true }
-async-trait = "0.1.41"
-bigdecimal = "0.4.1"
+async-trait = { workspace = true }
+bigdecimal = { workspace = true }
bytes = { version = "1.4.0", optional = true }
chrono = { workspace = true, optional = true }
datafusion = { path = "../core", version = "32.0.0" }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
+datafusion-common = { workspace = true }
futures = { version = "0.3.28" }
-half = "2.2.1"
-itertools = "0.11"
-log = "^0.4"
-object_store = "0.7.0"
+half = { workspace = true }
+itertools = { workspace = true }
+log = { workspace = true }
+object_store = { workspace = true }
postgres-protocol = { version = "0.6.4", optional = true }
postgres-types = { version = "0.2.4", optional = true }
rust_decimal = { version = "1.27.0" }
sqllogictest = "0.17.0"
sqlparser = { workspace = true }
-tempfile = "3"
-thiserror = "1.0.44"
+tempfile = { workspace = true }
+thiserror = { workspace = true }
tokio = { version = "1.0" }
tokio-postgres = { version = "0.7.7", optional = true }
@@ -58,8 +58,8 @@ avro = ["datafusion/avro"]
postgres = ["bytes", "chrono", "tokio-postgres", "postgres-types",
"postgres-protocol"]
[dev-dependencies]
-env_logger = "0.10"
-num_cpus = "1.13.0"
+env_logger = { workspace = true }
+num_cpus = { workspace = true }
[[test]]
harness = false
diff --git a/datafusion/substrait/Cargo.toml b/datafusion/substrait/Cargo.toml
index 67d31caca2..585cb6e43d 100644
--- a/datafusion/substrait/Cargo.toml
+++ b/datafusion/substrait/Cargo.toml
@@ -30,9 +30,9 @@ rust-version = "1.70"
[dependencies]
async-recursion = "1.0"
chrono = { workspace = true }
-datafusion = { version = "32.0.0", path = "../core" }
-itertools = "0.11"
-object_store = "0.7.0"
+datafusion = { workspace = true }
+itertools = { workspace = true }
+object_store = { workspace = true }
prost = "0.12"
prost-types = "0.12"
substrait = "0.18.0"
diff --git a/datafusion/wasmtest/Cargo.toml b/datafusion/wasmtest/Cargo.toml
index 3195c989e2..882b02bcc8 100644
--- a/datafusion/wasmtest/Cargo.toml
+++ b/datafusion/wasmtest/Cargo.toml
@@ -38,11 +38,11 @@ crate-type = ["cdylib", "rlib",]
# code size when deploying.
console_error_panic_hook = { version = "0.1.1", optional = true }
-datafusion-common = { path = "../common", version = "32.0.0", default-features
= false }
-datafusion-expr = { path = "../expr" }
-datafusion-optimizer = { path = "../optimizer" }
-datafusion-physical-expr = { path = "../physical-expr" }
-datafusion-sql = { path = "../sql" }
+datafusion-common = { workspace = true }
+datafusion-expr = { workspace = true }
+datafusion-optimizer = { workspace = true }
+datafusion-physical-expr = { workspace = true }
+datafusion-sql = { workspace = true }
# getrandom must be compiled with js feature
getrandom = { version = "0.2.8", features = ["js"] }
diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml
index 5ab10e42cf..b9c4db17c0 100644
--- a/test-utils/Cargo.toml
+++ b/test-utils/Cargo.toml
@@ -26,4 +26,4 @@ edition = { workspace = true }
arrow = { workspace = true }
datafusion-common = { path = "../datafusion/common" }
env_logger = "0.10.0"
-rand = "0.8"
+rand = { workspace = true }