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 if it's compatible.
23//! - `serde`: turns on serde serialization.
24mod parser;
25
26pub use self::parser::*;