VOA-config
A library for the configuration of technology backends in the “File Hierarchy for the Verification of OS Artifacts” (VOA).
Documentation
- https://voa.archlinux.page/rustdoc/voa_config/ for development version of the crate
- https://docs.rs/voa-config/latest/voa_config/ for released versions of the crate
This library defines the voa configuration file format.
Installation
This crate does not expose a command line interface, but is instead used by the voa crate.
Man pages
The man page for the configuration file format can be created by calling the following in the root of the source repository (requires lowdown to be installed):
just generate specifications voa-config
The man page is placed into output/manpages/ by default.
Examples
use voa_config::VoaConfig;
fn main() -> testresult::TestResult {
// Load all available and valid configuration files.
let config = VoaConfig::load();
// Query the settings for an OS "example"
let _settings = config.settings_for_os_or_default(&"example".parse()?);
// Query the settings for an OS "example" with purpose "package" and context "my-repo".
let _settings = config.settings_for_context_or_default(&"example".parse()?, &"package".parse()?, &"my-repo".parse()?);
Ok(())
}
Contributing
Please refer to the [contribution guidelines] to learn how to contribute to this project.
License
This project can be used under the terms of the Apache-2.0 or MIT. Contributions to this project, unless noted otherwise, are automatically licensed under the terms of both of those licenses.