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"
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = [ "app" ]
|
||||||
|
app = [ "dep:iced", "dep:smol" ]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ron = "0.12.2"
|
ron = "0.12.2"
|
||||||
serde = "1.0.229"
|
|
||||||
smol = "2.0.2"
|
|
||||||
sysinfo = "0.39.6"
|
sysinfo = "0.39.6"
|
||||||
|
|
||||||
[dependencies.iced]
|
[dependencies.iced]
|
||||||
version = "0.14.0"
|
version = "0.14.0"
|
||||||
features = [ "canvas", "smol" ]
|
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.default = crate;
|
||||||
|
|
||||||
|
packages.server-only = craneLib.buildPackage {
|
||||||
|
name = name + "-server-only";
|
||||||
|
src = ./.;
|
||||||
|
cargoExtraArgs = "--no-default-features";
|
||||||
|
};
|
||||||
|
|
||||||
checks = {
|
checks = {
|
||||||
crate-clippy = craneLib.cargoClippy (
|
crate-clippy = craneLib.cargoClippy (
|
||||||
commonArgs
|
commonArgs
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
||||||
|
#[cfg(feature = "app")]
|
||||||
mod app;
|
mod app;
|
||||||
mod server;
|
mod server;
|
||||||
mod sysinfo_snapshot;
|
mod sysinfo_snapshot;
|
||||||
|
|
@ -7,10 +8,12 @@ mod utils;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
match env::args().nth(1).as_deref() {
|
match env::args().nth(1).as_deref() {
|
||||||
Some("server") => server::run().unwrap(),
|
#[cfg(feature = "app")]
|
||||||
|
|
||||||
None | Some("client") => app::run().unwrap(),
|
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}"),
|
Some(s) => panic!("invalid argument: {s}"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue