Rename the application Cargo package from irtt-cli to irtt-rs (crates/irtt-cli -> crates/irtt-app), and hard-rename its scriptable client binary from irtt-cli to irtt-client, now that the application also ships a first-class server and the old name reads as an umbrella CLI for both roles. Give each dedicated binary (irtt-client, irtt-tui, irtt-server) its own entry point instead of funneling through the multicall dispatcher's argv0/subcommand logic, so a dedicated binary only links the applet code for the role it implements and always runs that role regardless of the name it's invoked or copied under. irtt-rs remains the feature-selectable multicall dispatcher and is now the only binary that inspects argv0 or subcommands. Move future application releases to the irtt-rs/vX.Y.Z tag namespace (regenerated via `dist generate`), and bump the application package to 0.6.0 as a breaking distribution change. Library crate versions are unaffected.
63 lines
1.9 KiB
TOML
63 lines
1.9 KiB
TOML
[package]
|
|
name = "irtt-rs"
|
|
version = "0.6.0"
|
|
description = "IRTT-compatible client, TUI, and server applications"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
readme.workspace = true
|
|
keywords = ["irtt", "networking", "latency", "rtt"]
|
|
categories = ["command-line-utilities", "network-programming"]
|
|
|
|
[lib]
|
|
name = "irtt_app"
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "irtt-rs"
|
|
path = "src/bin/irtt-rs.rs"
|
|
|
|
[[bin]]
|
|
name = "irtt-client"
|
|
path = "src/bin/irtt-client.rs"
|
|
required-features = ["client"]
|
|
# This applet shares its name with the irtt-client library crate, whose rustdoc
|
|
# output it would otherwise collide with.
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "irtt-tui"
|
|
path = "src/bin/irtt-tui.rs"
|
|
required-features = ["tui"]
|
|
|
|
[[bin]]
|
|
name = "irtt-server"
|
|
path = "src/bin/irtt-server.rs"
|
|
required-features = ["server"]
|
|
# This applet shares its name with the irtt-server library crate, whose rustdoc
|
|
# output it would otherwise collide with.
|
|
doc = false
|
|
|
|
[features]
|
|
default = ["client", "server", "tui"]
|
|
client = ["dep:irtt-client", "irtt-client/ancillary", "irtt-client/tokio", "dep:irtt-proto", "dep:irtt-stats"]
|
|
server = ["dep:irtt-server", "dep:tokio"]
|
|
tui =["dep:irtt-client", "irtt-client/ancillary", "irtt-client/tokio", "dep:irtt-proto", "dep:irtt-stats", "dep:ratatui", "dep:crossterm"]
|
|
|
|
[dependencies]
|
|
clap = { version = "4.6.6", features = ["derive"] }
|
|
crossterm = { version = "0.29.0", optional = true }
|
|
ctrlc = "3.5.2"
|
|
irtt-client = { workspace = true, optional = true }
|
|
irtt-proto = { workspace = true, optional = true }
|
|
irtt-server = { workspace = true, optional = true }
|
|
irtt-stats = { workspace = true, optional = true }
|
|
ratatui = { version = "0.30.2", optional = true }
|
|
tokio = { version = "1.53.1", default-features = false, features = ["rt", "time"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
irtt-server.workspace = true
|
|
tokio = { version = "1.53.1", default-features = false, features = ["rt", "sync"] }
|