1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//! This package implements a release name parser that is used by Sentry.
//!
//! ```
//! use sentry_release_parser::Release;
//!
//! let release = Release::parse("org.example.FooApp@1.0rc1+20200101100").unwrap();
//! assert_eq!(release.package(), Some("org.example.FooApp"));
//! assert_eq!(release.version_raw(), "1.0rc1+20200101100");
//!
//! let version = release.version().unwrap();
//! assert_eq!(version.major(), 1);
//! assert_eq!(version.minor(), 0);
//! assert_eq!(version.patch(), 0);
//! assert_eq!(version.triple(), (1, 0, 0));
//! assert_eq!(version.pre(), Some("rc1"));
//! assert_eq!(version.build_code(), Some("20200101100"));
//! ```
//!
//! # Features
//!
//! - `semver`: if enabled the version object provides a method to convert it
//!   into a semver if it's compatible.
//! - `serde`: turns on serde serialization.
mod parser;

pub use self::parser::*;