diff options
| -rw-r--r-- | Cargo.toml | 18 | ||||
| -rw-r--r-- | src/bin/quassel-client.rs (renamed from src/main.rs) | 18 | ||||
| -rw-r--r-- | src/lib.rs | 15 |
3 files changed, 31 insertions, 20 deletions
@@ -3,22 +3,28 @@ name = "libquassel" version = "0.1.0" authors = ["Max Audron <audron@cocaine.farm>"] edition = "2018" +autobins = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] log = "0.4" -bytes = "0.5" byteorder = "1.3.2" +failure = "0.1" + +bytes = { version = "0.5", optional = true } flate2 = { version = "1.0", features = ["tokio"], optional = true } tokio = { version = "0.2", features = ["full"], optional = true } tokio-util = { version = "0.2", features = ["codec"], optional = true } -failure = "0.1" -futures-util = { version = "0.3", features = ["std"] } -futures = "0.3" +futures-util = { version = "0.3", features = ["std"], optional = true } +futures = { version = "0.3", optional = true } [features] -framing = ["tokio", "tokio-util", "flate2"] -client = ["tokio", "tokio-util", "framing", "futures-util"] +framing = ["tokio", "tokio-util", "flate2", "bytes"] +client = ["tokio", "tokio-util", "futures", "futures-util", "framing"] default = [] + +[[bin]] +name = "quassel-client" +required-features = ["client"] diff --git a/src/main.rs b/src/bin/quassel-client.rs index 5c34bae..542d265 100644 --- a/src/main.rs +++ b/src/bin/quassel-client.rs @@ -1,20 +1,10 @@ -mod consts; - -#[cfg(features = "client")] -mod client; - -mod protocol; +use failure::Error; -#[macro_use] -mod util; +extern crate libquassel; +use libquassel::client; #[macro_use] -extern crate failure; - -#[cfg(test)] -mod tests; - -use failure::Error; +extern crate tokio; #[tokio::main] async fn main() -> Result<(), Error> { diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..8113481 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,15 @@ +pub mod consts; +pub mod protocol; + +#[macro_use] +pub mod util; + +#[cfg(feature = "client")] +pub mod client; + +#[cfg(test)] +pub mod tests; + + +#[macro_use] +extern crate failure; |
