refactor(ariadne): split core and binary crates

This commit is contained in:
2026-09-05 21:57:13 -04:00
parent 1a2012a528
commit e1db78a169
12 changed files with 87 additions and 35 deletions

View File

@@ -99,7 +99,8 @@
- When creating a pull request from a worktree-specific development branch, create a dedicated pull-request branch - When creating a pull request from a worktree-specific development branch, create a dedicated pull-request branch
separate from the branch that names or anchors the worktree. separate from the branch that names or anchors the worktree.
Do not open pull requests directly from the worktree branch. Do not open pull requests directly from the worktree branch.
- Ariadne uses a flat Rust source layout under `src/ariadne/`. - Ariadne separates Rust library code and binary entry-point code under `src/ariadne/core/` and
`src/ariadne/bin/`.
Do not add a Cargo-default nested `src/ariadne/src/` source directory. Do not add a Cargo-default nested `src/ariadne/src/` source directory.
- Use `bazel build` for non-test targets when no Bazel test target is part of the validation set. - Use `bazel build` for non-test targets when no Bazel test target is part of the validation set.
`bazel test` exits non-zero when it finds no test targets. `bazel test` exits non-zero when it finds no test targets.

7
Cargo.lock generated
View File

@@ -10,6 +10,13 @@ dependencies = [
"serde_json", "serde_json",
] ]
[[package]]
name = "ariadne-bin"
version = "0.1.0"
dependencies = [
"ariadne",
]
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.18" version = "1.0.18"

View File

@@ -1,6 +1,7 @@
[workspace] [workspace]
members = [ members = [
"src/ariadne", "src/ariadne/bin",
"src/ariadne/core",
"src/machoke", "src/machoke",
] ]
resolver = "3" resolver = "3"

View File

@@ -1,20 +1,6 @@
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library") alias(
rust_library(
name = "ariadne_lib",
crate_name = "ariadne",
crate_root = "lib.rs",
srcs = [
"graph.rs",
"lib.rs",
],
)
rust_binary(
name = "ariadne", name = "ariadne",
crate_name = "ariadne_cli", actual = "//src/ariadne/bin:ariadne",
srcs = ["main.rs"],
deps = [":ariadne_lib"],
) )
sh_binary( sh_binary(

9
src/ariadne/bin/BUILD Normal file
View File

@@ -0,0 +1,9 @@
load("@rules_rust//rust:defs.bzl", "rust_binary")
rust_binary(
name = "ariadne",
crate_name = "ariadne_cli",
visibility = ["//src/ariadne:__pkg__"],
srcs = ["main.rs"],
deps = ["//src/ariadne/core:ariadne_lib"],
)

View File

@@ -0,0 +1,11 @@
[package]
name = "ariadne-bin"
version = "0.1.0"
edition = "2024"
[[bin]]
name = "ariadne"
path = "main.rs"
[dependencies]
ariadne = { path = "../core" }

16
src/ariadne/core/BUILD Normal file
View File

@@ -0,0 +1,16 @@
load("@rules_rust//rust:defs.bzl", "rust_library")
rust_library(
name = "ariadne_lib",
crate_name = "ariadne",
crate_root = "lib.rs",
visibility = ["//src/ariadne:__subpackages__"],
srcs = [
"graph.rs",
"lib.rs",
],
deps = [
"//third_party/crates:serde",
"//third_party/crates:serde_json",
],
)

View File

@@ -6,10 +6,6 @@ edition = "2024"
[lib] [lib]
path = "lib.rs" path = "lib.rs"
[[bin]]
name = "ariadne"
path = "main.rs"
[dependencies] [dependencies]
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = "1.0"

View File

@@ -310,12 +310,15 @@ def aliases(
############################################################################### ###############################################################################
_CRATE_EDITIONS = { _CRATE_EDITIONS = {
"src/ariadne": "2024", "src/ariadne/bin": "2024",
"src/ariadne/core": "2024",
"src/machoke": "2024", "src/machoke": "2024",
} }
_NORMAL_DEPENDENCIES = { _NORMAL_DEPENDENCIES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
_COMMON_CONDITION: { _COMMON_CONDITION: {
"serde": Label("//third_party/crates/serde-1.0.229:serde"), "serde": Label("//third_party/crates/serde-1.0.229:serde"),
"serde_json": Label("//third_party/crates/serde_json-1.0.151:serde_json"), "serde_json": Label("//third_party/crates/serde_json-1.0.151:serde_json"),
@@ -326,7 +329,9 @@ _NORMAL_DEPENDENCIES = {
} }
_NORMAL_ALIASES = { _NORMAL_ALIASES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
_COMMON_CONDITION: { _COMMON_CONDITION: {
}, },
}, },
@@ -335,70 +340,90 @@ _NORMAL_ALIASES = {
} }
_NORMAL_DEV_DEPENDENCIES = { _NORMAL_DEV_DEPENDENCIES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_NORMAL_DEV_ALIASES = { _NORMAL_DEV_ALIASES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_PROC_MACRO_DEPENDENCIES = { _PROC_MACRO_DEPENDENCIES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_PROC_MACRO_ALIASES = { _PROC_MACRO_ALIASES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_PROC_MACRO_DEV_DEPENDENCIES = { _PROC_MACRO_DEV_DEPENDENCIES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_PROC_MACRO_DEV_ALIASES = { _PROC_MACRO_DEV_ALIASES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_BUILD_DEPENDENCIES = { _BUILD_DEPENDENCIES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_BUILD_ALIASES = { _BUILD_ALIASES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_BUILD_PROC_MACRO_DEPENDENCIES = { _BUILD_PROC_MACRO_DEPENDENCIES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },
} }
_BUILD_PROC_MACRO_ALIASES = { _BUILD_PROC_MACRO_ALIASES = {
"src/ariadne": { "src/ariadne/bin": {
},
"src/ariadne/core": {
}, },
"src/machoke": { "src/machoke": {
}, },