| 1 | //! **clap-cargo**: Re-usable CLI flags for `cargo` plugins | 
| 2 | //! | 
|---|
| 3 | //! ## Install | 
|---|
| 4 | //! | 
|---|
| 5 | //! Add to your `Cargo.toml`: | 
|---|
| 6 | //! | 
|---|
| 7 | //! ```toml | 
|---|
| 8 | //! [dependencies] | 
|---|
| 9 | //! clap-cargo = "0.1" | 
|---|
| 10 | //! ``` | 
|---|
| 11 | //! | 
|---|
| 12 | //! ## Examples | 
|---|
| 13 | //! | 
|---|
| 14 | //! ```rust | 
|---|
| 15 | //! # #[ cfg(feature = "clap")] { | 
|---|
| 16 | //! // ... | 
|---|
| 17 | //! #[derive(Debug, clap::Parser)] | 
|---|
| 18 | //! struct Cli { | 
|---|
| 19 | //!     #[command(flatten)] | 
|---|
| 20 | //!     manifest: clap_cargo::Manifest, | 
|---|
| 21 | //!     #[command(flatten)] | 
|---|
| 22 | //!     workspace: clap_cargo::Workspace, | 
|---|
| 23 | //!     #[command(flatten)] | 
|---|
| 24 | //!     features: clap_cargo::Features, | 
|---|
| 25 | //! } | 
|---|
| 26 | //! # } | 
|---|
| 27 | //! ``` | 
|---|
| 28 | //! | 
|---|
| 29 | //! ## Relevant crates | 
|---|
| 30 | //! | 
|---|
| 31 | //! Other crates that might be useful for cargo plugins: | 
|---|
| 32 | //! * [escargot][escargot] for wrapping `cargo-build`, `carg-run`, `cargo-test`, etc. | 
|---|
| 33 | //! * [cargo_metadata][cargo_metadata] for getting crate information. | 
|---|
| 34 | //! * [clap-verbosity][clap-verbosity] for adding logging to your CLI. | 
|---|
| 35 | //! | 
|---|
| 36 | //! [escargot]: https://crates.io/crates/escargot | 
|---|
| 37 | //! [cargo_metadata]: https://crates.io/crates/cargo_metadata | 
|---|
| 38 | //! [clap-verbosity]: https://crates.io/crates/clap-verbosity-flag | 
|---|
| 39 |  | 
|---|
| 40 | #![ cfg_attr(docsrs, feature(doc_auto_cfg))] | 
|---|
| 41 | #![ warn(missing_debug_implementations)] | 
|---|
| 42 | #![ warn(unused_extern_crates)] | 
|---|
| 43 |  | 
|---|
| 44 | mod features; | 
|---|
| 45 | mod manifest; | 
|---|
| 46 | mod workspace; | 
|---|
| 47 |  | 
|---|
| 48 | pub mod style; | 
|---|
| 49 |  | 
|---|
| 50 | pub use features::*; | 
|---|
| 51 | pub use manifest::*; | 
|---|
| 52 | pub use workspace::*; | 
|---|
| 53 |  | 
|---|