@@ -112,6 +112,21 @@ pub enum Fetcher {
112
112
#[ strum( serialize = "hex" ) ]
113
113
Hex ,
114
114
115
+ /// Linux Alpine packages.
116
+ #[ strum( serialize = "apk" ) ]
117
+ #[ serde( rename = "apk" ) ]
118
+ LinuxAlpine ,
119
+
120
+ /// Linux Debian packages.
121
+ #[ strum( serialize = "deb" ) ]
122
+ #[ serde( rename = "deb" ) ]
123
+ LinuxDebian ,
124
+
125
+ /// Linux RPM packages.
126
+ #[ strum( serialize = "rpm-generic" ) ]
127
+ #[ serde( rename = "rpm-generic" ) ]
128
+ LinuxRpm ,
129
+
115
130
/// Interacts with Maven.
116
131
#[ strum( serialize = "mvn" ) ]
117
132
Maven ,
@@ -136,6 +151,10 @@ pub enum Fetcher {
136
151
#[ strum( serialize = "pub" ) ]
137
152
Pub ,
138
153
154
+ /// Indicates RPM files.
155
+ #[ strum( serialize = "rpm" ) ]
156
+ Rpm ,
157
+
139
158
/// Interact with Swift's package manager.
140
159
#[ strum( serialize = "swift" ) ]
141
160
Swift ,
@@ -145,6 +164,11 @@ pub enum Fetcher {
145
164
#[ strum( serialize = "url" ) ]
146
165
Url ,
147
166
167
+ /// An unresolved path dependency.
168
+ #[ strum( serialize = "upath" ) ]
169
+ #[ serde( rename = "upath" ) ]
170
+ UnresolvedPath ,
171
+
148
172
/// A user-specified package.
149
173
#[ strum( serialize = "user" ) ]
150
174
User ,
@@ -395,4 +419,20 @@ mod tests {
395
419
assert_eq ! ( package, test, "'package' must match in '{test}" ) ;
396
420
}
397
421
}
422
+
423
+ #[ test]
424
+ fn serializes_linux_properly ( ) {
425
+ assert_eq ! (
426
+ r#""rpm-generic""# ,
427
+ serde_json:: to_string( & Fetcher :: LinuxRpm ) . unwrap( )
428
+ ) ;
429
+ assert_eq ! (
430
+ r#""deb""# ,
431
+ serde_json:: to_string( & Fetcher :: LinuxDebian ) . unwrap( )
432
+ ) ;
433
+ assert_eq ! (
434
+ r#""apk""# ,
435
+ serde_json:: to_string( & Fetcher :: LinuxAlpine ) . unwrap( )
436
+ ) ;
437
+ }
398
438
}
0 commit comments