blob: ae9f44f473d410b7ecd543df67f752be1356b171 [file]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[workspace]
resolver = "2"
members = [
"native-engine/datafusion-ext-commons",
"native-engine/datafusion-ext-exprs",
"native-engine/datafusion-ext-functions",
"native-engine/datafusion-ext-plans",
"native-engine/auron",
"native-engine/auron-jni-bridge",
"native-engine/auron-planner",
"native-engine/auron-memmgr",
]
exclude = [
"dev/vendors/packages/datafusion",
"dev/vendors/packages/arrow-rs",
"dev/vendors/packages/serde_json",
]
[workspace.package]
version = "8.0.0"
license = "Apache-2.0"
edition = "2024"
[workspace.lints.rust]
# Pending processing (temporarily allow)
unused_variables = "allow"
dead_code = "allow"
unused_imports = "allow"
unused_must_use = "allow"
deprecated = "allow"
[workspace.lints.clippy]
unwrap_used = "deny"
panic = "deny"
# Pending processing (temporarily allow)
# Unwrap/Error Handling
unnecessary_unwrap = "allow"
needless_question_mark = "allow"
unnecessary_literal_unwrap = "allow"
bind_instead_of_map = "allow"
expect_fun_call = "allow"
io_other_error = "allow"
unnecessary_fallible_conversions = "allow"
# Unsafe/Memory
missing_transmute_annotations = "allow"
declare_interior_mutable_const = "allow"
borrow_interior_mutable_const = "allow"
uninit_vec = "allow"
macro_metavars_in_unsafe = "allow"
ptr_arg = "allow"
borrowed_box = "allow"
# Iterator/Collection
manual_flatten = "allow"
iter_cloned_collect = "allow"
into_iter_on_ref = "allow"
box_collection = "allow"
useless_vec = "allow"
len_without_is_empty = "allow"
len_zero = "allow"
mem_replace_option_with_none = "allow"
get_first = "allow"
# Loop/Control Flow
needless_range_loop = "allow"
while_let_loop = "allow"
while_let_on_iterator = "allow"
explicit_counter_loop = "allow"
# Code Style/Redundancy (Part 1)
needless_borrow = "allow"
needless_return = "allow"
redundant_closure = "allow"
redundant_locals = "allow"
redundant_pattern_matching = "allow"
# Code Style/Redundancy (Part 2)
unnecessary_cast = "allow"
unnecessary_to_owned = "allow"
useless_asref = "allow"
clone_on_copy = "allow"
unit_arg = "allow"
manual_repeat_n = "allow"
manual_div_ceil = "allow"
# Naming/Structure/Remaining
upper_case_acronyms = "allow"
module_inception = "allow"
too_many_arguments = "allow"
should_implement_trait = "allow"
extra_unused_lifetimes = "allow"
crate_in_macro_def = "allow"
int_plus_one = "allow"
derived_hash_with_manual_eq = "allow"
approx_constant = "allow"
op_ref = "allow"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = false
[profile.pre]
inherits = "release"
#incremental = true
opt-level = 1
lto = false
codegen-units = 16
strip = false
[profile.dev]
debug = true
overflow-checks = false
[workspace.dependencies]
auron = { path = "./native-engine/auron" }
auron-jni-bridge = { path = "./native-engine/auron-jni-bridge" }
auron-planner = { path = "./native-engine/auron-planner" }
auron-memmgr = { path = "./native-engine/auron-memmgr" }
datafusion-ext-commons = { path = "./native-engine/datafusion-ext-commons" }
datafusion-ext-exprs = { path = "./native-engine/datafusion-ext-exprs" }
datafusion-ext-functions = { path = "./native-engine/datafusion-ext-functions" }
datafusion-ext-plans = { path = "./native-engine/datafusion-ext-plans" }
# datafusion
datafusion = { version = "49.0.0" }
datafusion-datasource = { version = "49.0.0" }
datafusion-datasource-parquet = { version = "49.0.0" }
datafusion-spark = { version = "49.0.0" }
# orc
orc-rust = { version = "0.7.0" }
# arrow
arrow = { version = "55.2.0", features = ["ffi"]}
arrow-schema = { version = "55.2.0", features = ["serde"] }
# parquet
parquet = { version = "55.2.0" }
# json
serde_json = { version = "1.0.96" }
# other dependencies
async-trait = "0.1.89"
base64 = "0.23.0"
bigdecimal = "0.4.10"
bitvec = "1.0.1"
byteorder = "1.5.0"
bytes = "1.11.1"
bytesize = "2.3.1"
chrono = "0.4.45"
count-write = "0.1.0"
foldhash = "0.2.0"
futures = "0.3"
futures-util = "0.3.32"
hashbrown = "0.17.1"
itertools = "0.15.0"
jni = "0.20.0"
log = "0.4.32"
lz4_flex = "0.14.0"
num = "0.4.2"
object_store = "0.12.4"
once_cell = "1.21.4"
panic-message = "0.3.0"
parking_lot = "0.12.5"
paste = "1.0.15"
procfs = "0.18.0"
prost = "0.14.4"
prost-types = "0.14.3"
prost-reflect = "0.16.4"
rand = "0.9.3"
rand_distr = "0.5"
smallvec = "2.0.0-alpha.11"
sonic-rs = "0.5.8"
tempfile = "3"
tokio = "1.52.3"
tonic-build = "0.13.1"
transpose = "0.2.3"
unchecked-index = "0.2.2"
zstd = "0.13.3"
rdkafka = { version = "0.36.0", features = ["tokio"] }
[patch.crates-io]
# datafusion: branch=v49.0.0-blaze
datafusion = { path = "./dev/vendors/packages/datafusion/datafusion/core"}
datafusion-common = { path = "./dev/vendors/packages/datafusion/datafusion/common"}
datafusion-expr = { path = "./dev/vendors/packages/datafusion/datafusion/expr"}
datafusion-datasource = { path = "./dev/vendors/packages/datafusion/datafusion/datasource"}
datafusion-datasource-parquet = { path = "./dev/vendors/packages/datafusion/datafusion/datasource-parquet"}
datafusion-execution = { path = "./dev/vendors/packages/datafusion/datafusion/execution"}
datafusion-optimizer = { path = "./dev/vendors/packages/datafusion/datafusion/optimizer"}
datafusion-physical-expr = { path = "./dev/vendors/packages/datafusion/datafusion/physical-expr"}
datafusion-spark = { path = "./dev/vendors/packages/datafusion/datafusion/spark"}
orc-rust = { path = "./dev/vendors/packages/orc-rust"}
# arrow: branch=v55.2.0-blaze
arrow = { path = "./dev/vendors/packages/arrow-rs/arrow"}
arrow-arith = { path = "./dev/vendors/packages/arrow-rs/arrow-arith"}
arrow-array = { path = "./dev/vendors/packages/arrow-rs/arrow-array"}
arrow-buffer = { path = "./dev/vendors/packages/arrow-rs/arrow-buffer"}
arrow-cast = { path = "./dev/vendors/packages/arrow-rs/arrow-cast"}
arrow-data = { path = "./dev/vendors/packages/arrow-rs/arrow-data"}
arrow-ipc = { path = "./dev/vendors/packages/arrow-rs/arrow-ipc"}
arrow-ord = { path = "./dev/vendors/packages/arrow-rs/arrow-ord"}
arrow-row = { path = "./dev/vendors/packages/arrow-rs/arrow-row"}
arrow-schema = { path = "./dev/vendors/packages/arrow-rs/arrow-schema"}
arrow-select = { path = "./dev/vendors/packages/arrow-rs/arrow-select"}
arrow-string = { path = "./dev/vendors/packages/arrow-rs/arrow-string"}
parquet = { path = "./dev/vendors/packages/arrow-rs/parquet"}
# serde_json: branch=v1.0.96-blaze
serde_json = { path = "./dev/vendors/packages/serde_json" }