#configuration #codegen #environment #arguments #command-line-arguments #env-var

build configure_me_codegen

A library for easy processing of application configuration from files, environment variables and command line arguments

18 releases

Uses old Rust 2015

0.4.4 Mar 18, 2023
0.4.3 Nov 16, 2022
0.4.2 Feb 17, 2022
0.4.1 Aug 21, 2021
0.3.2 Nov 8, 2018

#331 in Configuration

Download history 4261/week @ 2023-12-11 2589/week @ 2023-12-18 1229/week @ 2023-12-25 2953/week @ 2024-01-01 2617/week @ 2024-01-08 3261/week @ 2024-01-15 3220/week @ 2024-01-22 1803/week @ 2024-01-29 2939/week @ 2024-02-05 2855/week @ 2024-02-12 3346/week @ 2024-02-19 3359/week @ 2024-02-26 3151/week @ 2024-03-04 2167/week @ 2024-03-11 600/week @ 2024-03-18 624/week @ 2024-03-25

6,644 downloads per month
Used in 23 crates (18 directly)

MITNFA license

145KB
3K SLoC

Configure me - codegen

Code generator from configure_me - a Rust library for processing application configuration easily.

About

This crate aims to help with reading configuration of application from files, environment variables and command line arguments, merging it together and validating.

This is the codegen part of configure_me. Please refer to configure_me for full documentation.

License

MITNFA


lib.rs:

This is the codegen part of configure_me crate. Please refer to the documentation of configure_me for details.

Beautiful error messages

This crate supports emitting beautiful, Rust-like, error messages from build script. This improves developer experience a lot at the cost of longer compile times. Thus it is recommended to turn on the feature during development and keep it off during final release production build. To emit beautiful messages activate the spanned feature.

Unstable metabuild feature

This crate supports nightly-only metabuild feature tracked in https://github.com/rust-lang/rust/issues/49803 Since it is unstable you have to opt-in to instability by activating unstable-metabuild Cargo feature. If you enable it you don't have to write build script anymore, just add metabuild = ["configure_me_codegen"] to [package] section of your Cargo.toml. Note that you still have to specify the dependency (with the feature) in [build-dependencies].

No guarantees about stability are made because of the nature of nightly. Please use this only to test metabuild feature of Cargo and report your experience to the tracking issue. I look forward into having this stable and the main way of using this crate. Your reports will help.

Dependencies

~1.2–2MB
~38K SLoC