1#![doc = include_str!("../examples/README.md")]
22#![doc = include_str!("../examples/demo-op-cmd.rs")]
25#![doc(html_root_url = "https://docs.rs/juniper-jet/0.1.0-alpha.1")]
29#![warn(clippy::pedantic)]
31#![warn(clippy::cargo)]
32#![warn(clippy::nursery)]
33#![allow(clippy::redundant_pub_crate)]
34#![allow(box_pointers)]
36#![warn(absolute_paths_not_starting_with_crate)]
37#![warn(deprecated_in_future)]
38#![warn(elided_lifetimes_in_paths)]
39#![warn(explicit_outlives_requirements)]
40#![warn(keyword_idents)]
41#![warn(macro_use_extern_crate)]
42#![warn(meta_variable_misuse)]
43#![warn(missing_abi)]
44#![warn(missing_copy_implementations)]
45#![warn(missing_debug_implementations)]
46#![warn(missing_docs)]
47#![warn(non_ascii_idents)]
48#![warn(noop_method_call)]
49#![warn(pointer_structural_match)]
50#![warn(rust_2021_incompatible_closure_captures)]
51#![warn(rust_2021_incompatible_or_patterns)]
52#![warn(rust_2021_prefixes_incompatible_syntax)]
53#![warn(rust_2021_prelude_collisions)]
54#![warn(single_use_lifetimes)]
55#![warn(trivial_casts)]
56#![warn(trivial_numeric_casts)]
57#![warn(unreachable_pub)]
58#![warn(unsafe_code)]
59#![warn(unsafe_op_in_unsafe_fn)]
60#![warn(unstable_features)]
61#![warn(unused_crate_dependencies)]
62#![warn(unused_extern_crates)]
63#![warn(unused_import_braces)]
64#![warn(unused_lifetimes)]
65#![warn(unused_qualifications)]
66#![warn(unused_results)]
67#![warn(variant_size_differences)]
68#![cfg_attr(docsrs, feature(doc_auto_cfg))]
70
71#[cfg(feature = "latest")]
72pub mod latest {
74 pub use super::junos_23_1::jnx;
75}
76
77junos_versions! {
78 "23.1": #[cfg(feature = "junos-23-1")] junos_23_1,
79 "22.4": #[cfg(feature = "junos-22-4")] junos_22_4,
80 "22.3": #[cfg(feature = "junos-22-3")] junos_22_3,
81 "22.2": #[cfg(feature = "junos-22-2")] junos_22_2,
82 "21.4": #[cfg(feature = "junos-21-4")] junos_21_4,
83 "21.3": #[cfg(feature = "junos-21-3")] junos_21_3,
84 "21.2": #[cfg(feature = "junos-21-2")] junos_21_2,
85 "21.1": #[cfg(feature = "junos-21-1")] junos_21_1,
86 "20.4": #[cfg(feature = "junos-20-4")] junos_20_4,
87 "20.3": #[cfg(feature = "junos-20-3")] junos_20_3,
88 "20.2": #[cfg(feature = "junos-20-2")] junos_20_2,
89 "20.1": #[cfg(feature = "junos-20-1")] junos_20_1,
90 "19.4": #[cfg(feature = "junos-19-4")] junos_19_4,
91 "19.3": #[cfg(feature = "junos-19-3")] junos_19_3,
92 "19.2": #[cfg(feature = "junos-19-2")] junos_19_2,
93 "19.1": #[cfg(feature = "junos-19-1")] junos_19_1,
94}
95
96macro_rules! junos_versions {
97 ( $( $version:literal: $( #[$attr:meta] )+ $mod:ident ),* $(,)? ) => {
98 $(
99 $( #[$attr] )+
100 #[allow(clippy::doc_markdown)]
101 #[allow(clippy::future_not_send)]
102 #[allow(clippy::missing_const_for_fn)]
103 #[allow(clippy::missing_errors_doc)]
104 #[allow(clippy::module_name_repetitions)]
105 #[allow(clippy::must_use_candidate)]
106 #[allow(clippy::struct_excessive_bools)]
107 #[allow(clippy::tabs_in_doc_comments)]
108 #[allow(clippy::use_self)]
109 #[allow(clippy::wildcard_imports)]
110 #[allow(rustdoc::invalid_html_tags)]
111 #[allow(rustdoc::broken_intra_doc_links)]
112 #[allow(unused_results)]
113 #[allow(unused_qualifications)]
114 #[allow(missing_copy_implementations)]
115 #[allow(missing_docs)]
116 #[allow(variant_size_differences)]
117 #[doc = "Generated JET gRPC service definitions for Junos `"]
118 #[doc = $version]
119 #[doc = "`."]
120 pub mod $mod {
121 include!(concat!(env!("OUT_DIR"), "/", stringify!($mod), "/jnx.jet.rs"));
122 }
123 )*
124 };
125}
126use junos_versions;
127
128#[cfg(test)]
130mod deps {
131 use clap as _;
132 use clap_verbosity_flag as _;
133 use log as _;
134 use rpassword as _;
135 use simple_logger as _;
136 use tokio as _;
137 use version_sync as _;
138}