sentry_release_parser/
lib.rs

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