Started splitting out proto into its own crate.

This commit is contained in:
Aaron Weiss 2018-03-10 14:55:23 +01:00
parent a8a48bf4a1
commit 991e030a4f
No known key found for this signature in database
GPG key ID: 047D32DF25DC22EF
14 changed files with 76 additions and 21 deletions

2
.gitignore vendored
View file

@ -1,5 +1,7 @@
/target /target
/irc-proto/target
/Cargo.lock /Cargo.lock
/irc-proto/Cargo.lock
*.json *.json
*.toml *.toml
*.yaml *.yaml

View file

@ -15,6 +15,9 @@ travis-ci = { repository = "aatxe/irc" }
is-it-maintained-issue-resolution = { repository = "aatxe/irc" } is-it-maintained-issue-resolution = { repository = "aatxe/irc" }
is-it-maintained-open-issues = { repository = "aatxe/irc" } is-it-maintained-open-issues = { repository = "aatxe/irc" }
[workspace]
members = [ "./", "irc-proto" ]
[features] [features]
default = ["ctcp", "toml"] default = ["ctcp", "toml"]
ctcp = [] ctcp = []
@ -29,6 +32,7 @@ chrono = "0.4"
encoding = "0.2" encoding = "0.2"
failure = "0.1" failure = "0.1"
futures = "0.1" futures = "0.1"
irc-proto = { version = "*", path = "irc-proto" }
log = "0.3" log = "0.3"
native-tls = "0.1" native-tls = "0.1"
serde = "1.0" serde = "1.0"

24
irc-proto/Cargo.toml Normal file
View file

@ -0,0 +1,24 @@
[package]
name = "irc-proto"
version = "0.1.0"
authors = ["Aaron Weiss <awe@pdgn.co>"]
[dependencies]
bufstream = "0.1"
bytes = "0.4"
chrono = "0.4"
encoding = "0.2"
failure = "0.1"
futures = "0.1"
log = "0.3"
native-tls = "0.1"
serde = "1.0"
serde_derive = "1.0"
serde_json = { version = "1.0", optional = true }
serde_yaml = { version = "0.7", optional = true }
tokio-core = "0.1"
tokio-io = "0.1"
tokio-mockstream = "1.1"
tokio-timer = "0.1"
tokio-tls = "0.1"
toml = { version = "0.4", optional = true }

46
irc-proto/src/lib.rs Normal file
View file

@ -0,0 +1,46 @@
//! Support for the IRC protocol using Tokio.
#![warn(missing_docs)]
extern crate bufstream;
extern crate bytes;
extern crate chrono;
#[macro_use]
extern crate failure;
extern crate encoding;
#[macro_use]
extern crate futures;
#[macro_use]
extern crate log;
extern crate native_tls;
extern crate serde;
#[macro_use]
extern crate serde_derive;
#[cfg(feature = "json")]
extern crate serde_json;
#[cfg(feature = "yaml")]
extern crate serde_yaml;
extern crate tokio_core;
extern crate tokio_io;
extern crate tokio_mockstream;
extern crate tokio_timer;
extern crate tokio_tls;
#[cfg(feature = "toml")]
extern crate toml;
pub mod caps;
pub mod chan;
pub mod command;
pub mod irc;
pub mod line;
pub mod message;
pub mod mode;
pub mod response;
pub use self::caps::{Capability, NegotiationVersion};
pub use self::chan::ChannelExt;
pub use self::command::{BatchSubCommand, CapSubCommand, Command};
pub use self::irc::IrcCodec;
pub use self::message::Message;
pub use self::mode::{ChannelMode, Mode, UserMode};
pub use self::response::Response;

View file

@ -68,7 +68,6 @@ extern crate toml;
pub mod client; pub mod client;
pub mod error; pub mod error;
pub mod proto;
const VERSION_STR: &str = concat!( const VERSION_STR: &str = concat!(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),

View file

@ -1,20 +0,0 @@
//! Support for the IRC protocol using Tokio.
pub mod caps;
pub mod chan;
pub mod command;
pub mod colors;
pub mod irc;
pub mod line;
pub mod message;
pub mod mode;
pub mod response;
pub use self::caps::{Capability, NegotiationVersion};
pub use self::chan::ChannelExt;
pub use self::colors::FormattedStringExt;
pub use self::command::{BatchSubCommand, CapSubCommand, Command};
pub use self::irc::IrcCodec;
pub use self::message::Message;
pub use self::mode::{ChannelMode, Mode, UserMode};
pub use self::response::Response;