| # | |
| # 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", | |
| "dev/vendors/packages/orc-rust", | |
| ] | |
| [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" | |
| # 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 = "55.2.0" } | |
| datafusion-datasource = { version = "55.2.0" } | |
| datafusion-datasource-parquet = { version = "55.2.0" } | |
| datafusion-pruning = { version = "55.2.0" } | |
| datafusion-spark = { version = "55.2.0" } | |
| # orc | |
| orc-rust = { version = "0.7.0" } | |
| # arrow | |
| arrow = { version = "59.2.0", features = ["ffi"]} | |
| arrow-schema = { version = "59.2.0", features = ["serde"] } | |
| # parquet | |
| parquet = { version = "59.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" | |
| branches = { version = "0.5.1", features = ["prefetch"] } | |
| byteorder = "1.5.0" | |
| bytes = "1.11.1" | |
| bytesize = "2.3.1" | |
| chrono = "0.4.45" | |
| count-write = "0.1.0" | |
| fearless_simd = "1.1" | |
| 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.13.2" | |
| 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" | |
| unchecked-index = "0.2.2" | |
| zstd = "0.13.3" | |
| rdkafka = { version = "0.36.0", features = ["tokio"] } | |
| [patch.crates-io] | |
| # datafusion: branch=v55.2.0-auron | |
| 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-pruning = { path = "./dev/vendors/packages/datafusion/datafusion/pruning"} | |
| 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=v59.2.0-auron | |
| 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-auron | |
| serde_json = { path = "./dev/vendors/packages/serde_json" } |