archlinux_repo_parser/lib.rs
1//! Arch Linux repository package definitions parser
2//!
3//! # Example
4//! ```ignore
5//! #[allow(clippy::needless_doctest_main)]
6//! struct Test {
7//! #[serde(rename = "TEST")]
8//! test: String
9//! }
10//!
11//! fn main() {
12//! let test = Test {test: "test".to_owned() };
13//! let string = archlinux_repo_parser::to_string(&test).unwrap();
14//! let decoded: Test = archlinux_repo_parser::from_str(&string).unwrap();
15//! }
16//! ```
17//!
18//! ## Example of package definition file
19//! ```ignore
20//! %FILENAME%
21//! mingw-w64-x86_64-ag-2.2.0-1-any.pkg.tar.xz
22//!
23//! %NAME%
24//! mingw-w64-x86_64-ag
25//!
26//! %BASE%
27//! mingw-w64-ag
28//!
29//! %VERSION%
30//! 2.2.0-1
31//!
32//! %DESC%
33//! The Silver Searcher: An attempt to make something better than ack, which itself is better than grep (mingw-w64)
34//!
35//! %CSIZE%
36//! 79428
37//!
38//! %ISIZE%
39//! 145408
40//!
41//! %MD5SUM%
42//! 3368b34f1506e7fd84185901dfd5ac2f
43//!
44//! %SHA256SUM%
45//! c2b39a45ddd3983f3f4d7f6df34935999454a4bff345d88c8c6e66c81a2f6d7e
46//!
47//! %PGPSIG%
48//! iHUEABEIAB0WIQStNRxQrghXdetZMztfku/BpH1FoQUCXQOnfgAKCRBfku/BpH1FoZzhAQCEjnsM18ZCqJHhEE0BwXVsH9ONj87w0Wt8W77ZElUcKwD/RcnlD4Ef7gmOdl+puSDMUNylHQ2wlOdumaVSkQlOhLw=
49//!
50//! %URL%
51//! https://geoff.greer.fm/ag
52//!
53//! %LICENSE%
54//! Apache
55//!
56//! %ARCH%
57//! any
58//!
59//! %BUILDDATE%
60//! 1560520506
61//!
62//! %PACKAGER%
63//! Alexey Pavlov <alexpux@gmail.com>
64//!
65//! %DEPENDS%
66//! mingw-w64-x86_64-pcre
67//! mingw-w64-x86_64-xz
68//! mingw-w64-x86_64-zlib
69//!
70//! %MAKEDEPENDS%
71//! mingw-w64-x86_64-gcc
72//! mingw-w64-x86_64-pkg-config
73//! ```
74mod de;
75mod error;
76mod ser;
77
78pub use de::{from_str, Deserializer};
79pub use error::{Error, Result};
80pub use ser::{to_string, Serializer};