load("@crates//:defs.bzl", "all_crate_deps", "crate_deps")
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_shared_library")
ALL_FEATURES = [
"parser",
]
rust_library(
name = "sqruff-lib",
srcs = glob(["src/**/*.rs"]),
compile_data = glob(["src/**/*.cfg"]),
crate_features = ALL_FEATURES,
proc_macro_deps = all_crate_deps(proc_macro = True),
visibility = ["//visibility:public"],
deps = all_crate_deps(normal = True) + [
"//crates/lib-core:sqruff-lib-core",
"//crates/lib-dialects:sqruff-lib-dialects",
],
)
rust_library(
name = "sqruff-lib-python",
srcs = glob(["src/**/*.rs"]),
compile_data = glob(["src/**/*.cfg"]),
crate_features = ALL_FEATURES + ["python"],
crate_name = "sqruff_lib",
proc_macro_deps = all_crate_deps(proc_macro = True),
visibility = ["//visibility:public"],
deps = all_crate_deps(normal = True) + [
"//crates/lib-core:sqruff-lib-core",
"//crates/lib-dialects:sqruff-lib-dialects",
],
)
WASM_CRATE_NAMES = [
"common-path",
"configparser",
"fancy-regex",
"hashbrown",
"indexmap",
"itertools",
"lazy-regex",
"log",
"nohash-hasher",
"pretty_assertions",
"rayon",
"regex",
"serde",
"serde_json",
"smol_str",
"strum",
"walkdir",
]
WASM_PROC_MACRO_CRATE_NAMES = [
"enum_dispatch",
"strum_macros",
]
rust_library(
name = "sqruff-lib-for-wasm",
srcs = glob(["src/**/*.rs"]),
compile_data = glob(["src/**/*.cfg"]),
crate_features = ALL_FEATURES,
crate_name = "sqruff_lib",
proc_macro_deps = crate_deps(WASM_PROC_MACRO_CRATE_NAMES),
visibility = ["//visibility:public"],
deps = crate_deps(WASM_CRATE_NAMES) + [
"//crates/lib-core:sqruff-lib-core",
"//crates/lib-dialects:sqruff-lib-dialects",
],
)
filegroup(
name = "machete_srcs",
srcs = glob(
[
"src/**/*.rs",
"src/**/*.cfg",
"tests/**/*.rs",
"benches/**/*.rs",
],
allow_empty = True,
) + ["Cargo.toml"],
visibility = ["//visibility:public"],
)
filegroup(
name = "test_fixtures",
srcs = glob(["test/**"]),
visibility = ["//visibility:public"],
)