[package] name = "config-proc" version = "0.1.0" authors = ["CuriouslyCurious "] edition = "2021" description = "Proc-macros for config file handling" documentation = "https://docs.rs/config-proc" readme = "README.md" repository = "https://sr.ht/~curious/config-proc" license = "0BSD" keywords = ["config", "configuration", "proc-macro"] categories = ["config"] publish = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] proc-macro = true [features] default = ["serde_toml", "log"] log = ["dep:log"] # Prefer the rkyv ones if you want something that is slightly faster than the serde ones, # but since it doesn't matter in most cases unless you are doing a lot of reloads you are free # to use whatever. serde = ["dep:serde"] rkyv = ["dep:rkyv"] #toml = ["rkyv_toml"] #rkyv_toml = ["dep:rkyv_toml"] serde_toml = ["dep:toml", "serde"] #ron = ["rkyv_ron"] # rkyv_ron = ["dep:rkyv_ron"] serde_ron = ["dep:ron", "serde"] #ini = ["rkyv_ini"] #rkyv_ini = ["dep:rkyv_ini"] serde_ini = ["dep:serde_ini", "serde"] #yaml = ["rkyv_yaml"] #rkyv_yaml = ["dep:rkyv_yaml"] serde_yaml = ["dep:serde_yaml", "serde"] #json = ["rkyv_json"] #rkyv_json = ["dep:rkyv_json"] serde_json = ["dep:serde_json", "serde"] xml = ["serde_xml"] #rkyv_xml = ["dep:rkyv_xml"] serde_xml = ["dep:quick-xml", "serde"] [dependencies] # Proc macro stuff proc-macro2 = "1.0" syn = { version = "1.0", features = ["parsing", "full"] } quote = "1.0" # Optional logging of what is happening internally in the functions log = { version = "=0.4.17", default-features = false, optional = true } # Serialization/Deserialization libraries serde = { version = "=1.0.145", features = ["derive"], optional = true } rkyv = { version = "=0.7.39", features = ["validation"], optional = true } # rkyv-toml = { version = "", optional = true } toml = { version = "=0.5.9", optional = true } # rkyv-ini = { version = "", optional = true } serde_ini = { version = "=0.2.0", optional = true } # rkyv-yaml = { version = "", optional = true } serde_yaml = { version = "=0.9.13", optional = true } # rkyv-json = { version = "", optional = true } serde_json = { version = "=1.0.86", optional = true} # rkyv-ron = { version = "", optional = true } ron = { version = "=0.8.0", optional = true } # rkyv-xml = { version = "", optional = true } quick-xml = { version = "=0.25.0", features = ["serialize"], optional = true} [dev-dependencies] trybuild = "1.0"