From 0eadd4ac8a6444012c1f3afc6ed8e9ae78291131 Mon Sep 17 00:00:00 2001 From: Jessica Black Date: Tue, 25 Jun 2024 14:59:41 -0700 Subject: [PATCH] Add linux fetchers to locator (#7) --- Cargo.toml | 2 +- src/lib.rs | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 74af75e..75b3920 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "locator" -version = "2.0.1" +version = "2.0.2" edition = "2021" [dependencies] diff --git a/src/lib.rs b/src/lib.rs index 3420425..bef2032 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -112,6 +112,21 @@ pub enum Fetcher { #[strum(serialize = "hex")] Hex, + /// Linux Alpine packages. + #[strum(serialize = "apk")] + #[serde(rename = "apk")] + LinuxAlpine, + + /// Linux Debian packages. + #[strum(serialize = "deb")] + #[serde(rename = "deb")] + LinuxDebian, + + /// Linux RPM packages. + #[strum(serialize = "rpm-generic")] + #[serde(rename = "rpm-generic")] + LinuxRpm, + /// Interacts with Maven. #[strum(serialize = "mvn")] Maven, @@ -136,6 +151,10 @@ pub enum Fetcher { #[strum(serialize = "pub")] Pub, + /// Indicates RPM files. + #[strum(serialize = "rpm")] + Rpm, + /// Interact with Swift's package manager. #[strum(serialize = "swift")] Swift, @@ -145,6 +164,11 @@ pub enum Fetcher { #[strum(serialize = "url")] Url, + /// An unresolved path dependency. + #[strum(serialize = "upath")] + #[serde(rename = "upath")] + UnresolvedPath, + /// A user-specified package. #[strum(serialize = "user")] User, @@ -395,4 +419,20 @@ mod tests { assert_eq!(package, test, "'package' must match in '{test}"); } } + + #[test] + fn serializes_linux_properly() { + assert_eq!( + r#""rpm-generic""#, + serde_json::to_string(&Fetcher::LinuxRpm).unwrap() + ); + assert_eq!( + r#""deb""#, + serde_json::to_string(&Fetcher::LinuxDebian).unwrap() + ); + assert_eq!( + r#""apk""#, + serde_json::to_string(&Fetcher::LinuxAlpine).unwrap() + ); + } }