feat: add server-only build
it's drastically faster to build, mostly due to only including 1/10th of the dependencies
This commit is contained in:
parent
e310ca570b
commit
1546c67fa3
3 changed files with 24 additions and 4 deletions
15
Cargo.toml
15
Cargo.toml
|
|
@ -5,12 +5,23 @@ license = "AGPL-3.0-or-later"
|
|||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[features]
|
||||
default = [ "app" ]
|
||||
app = [ "dep:iced", "dep:smol" ]
|
||||
|
||||
[dependencies]
|
||||
ron = "0.12.2"
|
||||
serde = "1.0.229"
|
||||
smol = "2.0.2"
|
||||
sysinfo = "0.39.6"
|
||||
|
||||
[dependencies.iced]
|
||||
version = "0.14.0"
|
||||
features = [ "canvas", "smol" ]
|
||||
optional = true
|
||||
|
||||
[dependencies.smol]
|
||||
version = "2.0.2"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0.229"
|
||||
features = [ "derive" ]
|
||||
|
|
|
|||
|
|
@ -89,6 +89,12 @@
|
|||
{
|
||||
packages.default = crate;
|
||||
|
||||
packages.server-only = craneLib.buildPackage {
|
||||
name = name + "-server-only";
|
||||
src = ./.;
|
||||
cargoExtraArgs = "--no-default-features";
|
||||
};
|
||||
|
||||
checks = {
|
||||
crate-clippy = craneLib.cargoClippy (
|
||||
commonArgs
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
use std::env;
|
||||
|
||||
#[cfg(feature = "app")]
|
||||
mod app;
|
||||
mod server;
|
||||
mod sysinfo_snapshot;
|
||||
|
|
@ -7,10 +8,12 @@ mod utils;
|
|||
|
||||
fn main() {
|
||||
match env::args().nth(1).as_deref() {
|
||||
Some("server") => server::run().unwrap(),
|
||||
|
||||
#[cfg(feature = "app")]
|
||||
None | Some("client") => app::run().unwrap(),
|
||||
|
||||
#[cfg_attr(feature = "app", allow(unreachable_patterns))]
|
||||
None | Some("server") => server::run().unwrap(),
|
||||
|
||||
Some(s) => panic!("invalid argument: {s}"),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue