[refactor] Refactor project into proper rust workspace.
This commit is contained in:
14
Cargo.toml
14
Cargo.toml
@@ -7,6 +7,12 @@ members = [
|
|||||||
]
|
]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
|
|
||||||
|
[workspace.package]
|
||||||
|
edition = "2024"
|
||||||
|
version = "0.1.0"
|
||||||
|
license = "MIT"
|
||||||
|
rust-version = "1.89"
|
||||||
|
|
||||||
# Optional: Keep dependency versions consistent across members
|
# Optional: Keep dependency versions consistent across members
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
thiserror = "1.0.69"
|
thiserror = "1.0.69"
|
||||||
@@ -26,6 +32,14 @@ cliclack = "0.3.6"
|
|||||||
clap_complete = "4.5.57"
|
clap_complete = "4.5.57"
|
||||||
clap_mangen = "0.2.29"
|
clap_mangen = "0.2.29"
|
||||||
|
|
||||||
|
# Additional shared deps used across members
|
||||||
|
tracing = "0.1"
|
||||||
|
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
||||||
|
reqwest = { version = "0.12.7", default-features = false, features = ["blocking", "rustls-tls", "gzip", "json"] }
|
||||||
|
hex = "0.4.3"
|
||||||
|
tempfile = "3.12.0"
|
||||||
|
assert_cmd = "2.0.16"
|
||||||
|
|
||||||
[workspace.lints.rust]
|
[workspace.lints.rust]
|
||||||
unused_imports = "deny"
|
unused_imports = "deny"
|
||||||
dead_code = "warn"
|
dead_code = "warn"
|
||||||
|
16
build.rs
16
build.rs
@@ -1,16 +0,0 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
|
||||||
// Copyright (c) 2025 <COPYRIGHT HOLDER>. All rights reserved.
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
// Only run special build steps when gpu-vulkan feature is enabled.
|
|
||||||
let vulkan_enabled = std::env::var("CARGO_FEATURE_GPU_VULKAN").is_ok();
|
|
||||||
if !vulkan_enabled {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Placeholder: In a full implementation, we would invoke CMake for whisper.cpp with GGML_VULKAN=1.
|
|
||||||
// For now, emit a helpful note. Build will proceed; runtime Vulkan backend returns an explanatory error.
|
|
||||||
println!("cargo:rerun-if-changed=extern/whisper.cpp");
|
|
||||||
println!(
|
|
||||||
"cargo:warning=Building with gpu-vulkan: ensure Vulkan SDK/loader are installed. Future versions will compile whisper.cpp via CMake."
|
|
||||||
);
|
|
||||||
}
|
|
@@ -1,24 +1,24 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "polyscribe-cli"
|
name = "polyscribe-cli"
|
||||||
version = "0.1.0"
|
version.workspace = true
|
||||||
edition = "2024"
|
edition.workspace = true
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
name = "polyscribe"
|
name = "polyscribe"
|
||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0.99"
|
anyhow = { workspace = true }
|
||||||
clap = { version = "4.5.44", features = ["derive"] }
|
clap = { workspace = true, features = ["derive"] }
|
||||||
clap_complete = "4.5.57"
|
clap_complete = { workspace = true }
|
||||||
clap_mangen = "0.2.29"
|
clap_mangen = { workspace = true }
|
||||||
directories = "5.0.1"
|
directories = { workspace = true }
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { workspace = true, features = ["derive"] }
|
||||||
serde_json = "1.0.142"
|
serde_json = { workspace = true }
|
||||||
tokio = { version = "1.47.1", features = ["rt-multi-thread", "macros", "process", "fs"] }
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "process", "fs"] }
|
||||||
tracing = "0.1"
|
tracing = { workspace = true }
|
||||||
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
|
tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] }
|
||||||
which = "6.0.3"
|
which = { workspace = true }
|
||||||
|
|
||||||
polyscribe-core = { path = "../polyscribe-core" }
|
polyscribe-core = { path = "../polyscribe-core" }
|
||||||
polyscribe-host = { path = "../polyscribe-host" }
|
polyscribe-host = { path = "../polyscribe-host" }
|
||||||
@@ -29,4 +29,4 @@ polyscribe-protocol = { path = "../polyscribe-protocol" }
|
|||||||
default = []
|
default = []
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
assert_cmd = "2.0.16"
|
assert_cmd = { workspace = true }
|
||||||
|
@@ -1,22 +1,22 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "polyscribe-core"
|
name = "polyscribe-core"
|
||||||
version = "0.1.0"
|
version.workspace = true
|
||||||
edition = "2024"
|
edition.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0.99"
|
anyhow = { workspace = true }
|
||||||
thiserror = "1.0.69"
|
thiserror = { workspace = true }
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { workspace = true, features = ["derive"] }
|
||||||
serde_json = "1.0.142"
|
serde_json = { workspace = true }
|
||||||
toml = "0.8.23"
|
toml = { workspace = true }
|
||||||
directories = "5.0.1"
|
directories = { workspace = true }
|
||||||
chrono = "0.4.41"
|
chrono = { workspace = true }
|
||||||
libc = "0.2.175"
|
libc = { workspace = true }
|
||||||
whisper-rs = "0.14.3"
|
whisper-rs = { workspace = true }
|
||||||
# UI and progress
|
# UI and progress
|
||||||
cliclack = { workspace = true }
|
cliclack = { workspace = true }
|
||||||
# New: HTTP downloads + hashing
|
# HTTP downloads + hashing
|
||||||
reqwest = { version = "0.12.7", default-features = false, features = ["blocking", "rustls-tls", "gzip", "json"] }
|
reqwest = { workspace = true }
|
||||||
sha2 = "0.10.8"
|
sha2 = { workspace = true }
|
||||||
hex = "0.4.3"
|
hex = { workspace = true }
|
||||||
tempfile = "3.12.0"
|
tempfile = { workspace = true }
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "polyscribe-host"
|
name = "polyscribe-host"
|
||||||
version = "0.1.0"
|
version.workspace = true
|
||||||
edition = "2024"
|
edition.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0.99"
|
anyhow = { workspace = true }
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { workspace = true, features = ["derive"] }
|
||||||
serde_json = "1.0.142"
|
serde_json = { workspace = true }
|
||||||
tokio = { version = "1.47.1", features = ["rt-multi-thread", "process", "io-util"] }
|
tokio = { workspace = true, features = ["rt-multi-thread", "process", "io-util"] }
|
||||||
which = "6.0.3"
|
which = { workspace = true }
|
||||||
directories = { workspace = true }
|
directories = { workspace = true }
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "polyscribe-protocol"
|
name = "polyscribe-protocol"
|
||||||
version = "0.1.0"
|
version.workspace = true
|
||||||
edition = "2024"
|
edition.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde = { version = "1.0.219", features = ["derive"] }
|
serde = { workspace = true, features = ["derive"] }
|
||||||
serde_json = "1.0.142"
|
serde_json = { workspace = true }
|
||||||
|
Reference in New Issue
Block a user