From 1eef68f859fd4c566ccb9f0035cc1cf2a92d7a61 Mon Sep 17 00:00:00 2001 From: George Kaklamanos Date: Fri, 30 Jun 2023 17:23:05 +0300 Subject: [PATCH] Add crate features to select used functionality --- labadoor/Cargo.toml | 14 ++++++++++---- labadoor/src/main.rs | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/labadoor/Cargo.toml b/labadoor/Cargo.toml index 57a715e..a367900 100644 --- a/labadoor/Cargo.toml +++ b/labadoor/Cargo.toml @@ -5,7 +5,13 @@ edition = "2021" [dependencies] clap = { version = "4.3.10", features = ["derive"] } -labadoor-telegram = { path = "../labadoor-telegram" } -labadoor-matrix = { path = "../labadoor-matrix" } -labadoor-csv = { path = "../labadoor-csv" } -labadoor-gpio = { path = "../labadoor-gpio" } +labadoor-telegram = { path = "../labadoor-telegram", optional = true } +labadoor-matrix = { path = "../labadoor-matrix", optional = true } +labadoor-csv = { path = "../labadoor-csv", optional = true } +labadoor-gpio = { path = "../labadoor-gpio", optional = true } + +[features] +telegram = [ "dep:labadoor-telegram" ] +matrix = [ "dep:labadoor-matrix" ] +csv = [ "dep:labadoor-csv" ] +gpio = [ "dep:labadoor-gpio" ] diff --git a/labadoor/src/main.rs b/labadoor/src/main.rs index b1a313f..dcb43e0 100644 --- a/labadoor/src/main.rs +++ b/labadoor/src/main.rs @@ -8,24 +8,32 @@ struct Cli { #[derive(Parser, Debug)] enum Command { + #[cfg(feature = "telegram")] Telegram, + #[cfg(feature = "matrix")] Matrix, + #[cfg(feature = "csv")] CSV, + #[cfg(feature = "gpio")] GPIO, } fn main() { let cli = Cli::parse(); match &cli.command { + #[cfg(feature = "telegram")] Command::Telegram => { labadoor_telegram::main(); } + #[cfg(feature = "matrix")] Command::Matrix => { labadoor_matrix::main(); } + #[cfg(feature = "csv")] Command::CSV => { labadoor_csv::main(); } + #[cfg(feature = "gpio")] Command::GPIO => { labadoor_gpio::main(); }