Compare commits

...

3 Commits

10 changed files with 58 additions and 18 deletions

19
Cargo.lock generated
View File

@ -2011,10 +2011,8 @@ dependencies = [
"app-error",
"async-broadcast",
"clap",
"console-subscriber",
"dashmap",
"futures",
"indexmap 2.11.1",
"indicatif",
"itertools",
"notify",
@ -2025,14 +2023,27 @@ dependencies = [
"tokio",
"tokio-stream",
"tracing",
"tracing-log",
"tracing-subscriber",
"tracing-test",
"unicode-ident",
"yoke",
"zbuild-test",
]
[[package]]
name = "zbuild-bin"
version = "0.1.10"
dependencies = [
"app-error",
"clap",
"console-subscriber",
"itertools",
"tokio",
"tracing",
"tracing-log",
"tracing-subscriber",
"zbuild",
]
[[package]]
name = "zbuild-test"
version = "0.1.10"

View File

@ -1,6 +1,6 @@
[workspace]
members = ["zbuild", "zbuild-test"]
members = ["zbuild", "zbuild-bin", "zbuild-test"]
resolver = "2"
[workspace.package]
@ -15,6 +15,7 @@ version = "0.1.10"
# Workspace
zbuild = { path = "zbuild" }
zbuild-bin = { path = "zbuild-bin" }
zbuild-test = { path = "zbuild-test" }
app-error = { git = "https://github.com/Zenithsiz/app-error", rev = "9a7c202f54ef449d02e2b6ace74ad916f6e6720e" }
@ -103,3 +104,7 @@ clippy.future_not_send = "allow"
# We want to format paths with quotes
clippy.unnecessary_debug_formatting = "allow"
# TODO: Warn on this always once we resolve the issues of it triggering
# on integration tests
# rust.unused_crate_dependencies = "warn"

33
zbuild-bin/Cargo.toml Normal file
View File

@ -0,0 +1,33 @@
[package]
name = "zbuild-bin"
description.workspace = true
edition.workspace = true
license.workspace = true
publish.workspace = true
repository.workspace = true
version.workspace = true
[[bin]]
path = "src/main.rs"
name = "zbuild"
[features]
tokio-console = ["dep:console-subscriber"]
[dependencies]
# Workspace
zbuild = { workspace = true }
app-error = { workspace = true }
clap = { features = ["derive"], workspace = true }
console-subscriber = { optional = true, workspace = true }
itertools = { workspace = true }
tokio = { features = ["full"], workspace = true }
tracing = { workspace = true }
tracing-log = { workspace = true }
tracing-subscriber = { features = ["env-filter"], workspace = true }
[lints]
workspace = true

View File

@ -7,20 +7,13 @@ version = { workspace = true }
repository = { workspace = true }
publish = { workspace = true }
[features]
tokio-console = ["dep:console-subscriber"]
[dependencies]
app-error = { workspace = true }
async-broadcast = { workspace = true }
clap = { features = ["derive"], workspace = true }
console-subscriber = { optional = true, workspace = true }
dashmap = { workspace = true }
futures = { workspace = true }
indexmap = { workspace = true }
indicatif = { workspace = true }
itertools = { workspace = true }
notify = { workspace = true }
@ -30,8 +23,6 @@ smallvec = { features = ["may_dangle"], workspace = true }
tokio = { features = ["full"], workspace = true }
tokio-stream = { workspace = true }
tracing = { workspace = true }
tracing-log = { workspace = true }
tracing-subscriber = { features = ["env-filter"], workspace = true }
unicode-ident = { workspace = true }
yoke = { workspace = true }

View File

@ -19,6 +19,7 @@ use {
rules::{Command, DepItem, Expr, ExprTree, OutItem, Rule, Target},
util::{self, ArcStr},
},
app_error::{AllErrs, Context, app_error},
dashmap::DashMap,
futures::{StreamExt, TryStreamExt, stream::FuturesUnordered},
indicatif::ProgressBar,
@ -26,7 +27,6 @@ use {
smallvec::SmallVec,
std::{collections::HashMap, fmt, future::Future, process::Stdio, sync::Arc, time::SystemTime},
tokio::{fs, io::AsyncReadExt, process, sync::Semaphore, task},
app_error::{AllErrs, Context, app_error},
};
/// Event

View File

@ -3,9 +3,9 @@
// Imports
use {
crate::{AppError, rules::Target, util::ArcStr},
app_error::app_error,
itertools::Itertools,
std::{ops::Try, sync::Arc},
app_error::app_error,
};
/// Inner type for [`BuildReason`].

View File

@ -7,9 +7,9 @@ use {
rules::{Command, DepItem, Expr, ExprCmpt, ExprOp, OutItem, Pattern, Rule, Target},
util::ArcStr,
},
app_error::{AllErrs, Context, app_error},
smallvec::SmallVec,
std::{collections::HashMap, mem, path::PathBuf},
app_error::{AllErrs, Context, app_error},
};
/// Expander

View File

@ -9,6 +9,7 @@
// Imports
use {
crate::{AppError, Builder, build, rules::Target, util::ArcStr},
app_error::Context,
dashmap::{DashMap, DashSet},
futures::{StreamExt, stream::FuturesUnordered},
notify_debouncer_full::Debouncer,
@ -20,7 +21,6 @@ use {
},
tokio::sync::mpsc,
tokio_stream::wrappers::ReceiverStream,
app_error::Context,
};
/// A reverse dependency