refactor: loosen dep compat & separate bin as feature

This commit is contained in:
Wataru Otsubo 2025-02-10 22:21:05 +09:00
parent 3fc6bd14fe
commit 25dba869db
3 changed files with 19 additions and 17 deletions

1
Cargo.lock generated
View file

@ -370,7 +370,6 @@ dependencies = [
"sha2", "sha2",
"syn", "syn",
"thiserror", "thiserror",
"typenum",
"vergen-gitcl", "vergen-gitcl",
] ]

View file

@ -10,28 +10,31 @@ build = "build.rs"
[[bin]] [[bin]]
name = "endcap-sl-software-ri-generator" name = "endcap-sl-software-ri-generator"
path = "src/main.rs" path = "src/main.rs"
required-features = ["bin"]
[lib] [lib]
name = "endcap_sl_software_ri_generator" name = "endcap_sl_software_ri_generator"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
anyhow = "1.0.95" anyhow = { version = "1.0", optional = true }
chrono = "0.4.39" chrono = "0.4"
clap = { version = "4.5.28", features = ["derive"] } clap = { version = "4.5", features = ["derive"] }
env_logger = "0.11.6" env_logger = { version = "0.11", optional = true }
heck = "0.5" heck = "0.5"
hex = "0.4.3" hex = "0.4"
itertools = "0.14" itertools = "0.14"
log = "0.4" log = "0.4"
prettyplease = "0.2" prettyplease = "0.2"
proc-macro2 = "1.0.93" proc-macro2 = "1.0"
quote = "1.0" quote = "1.0"
roxmltree = "0.20" roxmltree = "0.20"
sha2 = "0.10" sha2 = "0.10"
syn = "2.0.96" syn = "2.0"
thiserror = "2.0" thiserror = "2.0"
typenum = "1.17.0"
[build-dependencies] [build-dependencies]
vergen-gitcl = { version = "1.0.0", features = ["build", "cargo", "rustc", "si"] } vergen-gitcl = { version = "1.0", features = ["build", "cargo", "rustc", "si"] }
[features]
bin = ["anyhow", "env_logger"]

View file

@ -12,21 +12,21 @@
//! ```no_run //! ```no_run
//! use endcap_sl_software_ri_generator::types; //! use endcap_sl_software_ri_generator::types;
//! //!
//! let xmlfile = std::fs::read_to_string("./csr.xml")?; //! let xmlfile = std::fs::read_to_string("./csr.xml").expect("failed to open file");
//! let doc = roxmltree::Document::parse_with_options( //! let doc = roxmltree::Document::parse_with_options(
//! &xmlfile, //! &xmlfile,
//! roxmltree::ParsingOptions { //! roxmltree::ParsingOptions {
//! allow_dtd: true, //! allow_dtd: true,
//! nodes_limit: u32::MAX, //! nodes_limit: u32::MAX,
//! }, //! },
//! )?; //! )
//! .expect("failed to parse");
//! //!
//! let register_map = types::Module::from_xml_dom(doc.root_element())?; //! let register_map = types::Module::from_xml_dom(doc.root_element()).expect("failed to convert");
//! //!
//! let files = register_map.generate_code()?; //! let files = register_map.generate_code().expect("failed to generate code");
//! endcap_sl_software_ri_generator::write_to_files(files, &std::path::PathBuf::from("out"))?; //! endcap_sl_software_ri_generator::write_to_files(files,
//! //! &std::path::PathBuf::from("out")).expect("failed to write");
//! # Ok::<(), anyhow::Error>(())
//! ``` //! ```
//! //!
//! # Overview //! # Overview