@@ -232,28 +232,28 @@ impl Blacksmith {
232
232
writeln ! ( buffer, "---------|--------|------|--------" ) . unwrap ( ) ;
233
233
234
234
for ( name, platform) in & self . platforms {
235
- let extension = if name. contains ( "windows" ) {
236
- "msi"
235
+ let extensions : & [ & str ] = if name. contains ( "windows" ) {
236
+ & [ "msi" , "tar.xz" ]
237
237
} else if name. contains ( "darwin" ) {
238
- "pkg"
238
+ & [ "pkg" , "tar.xz" ]
239
239
} else {
240
- "tar.xz"
240
+ & [ "tar.xz" ]
241
241
} ;
242
242
243
243
let stable_links = platform
244
244
. stable
245
245
. as_ref ( )
246
- . map ( |version| generate_standalone_links ( "rust" , version, name, extension ) )
246
+ . map ( |version| generate_standalone_links ( "rust" , version, name, extensions ) )
247
247
. unwrap_or_else ( String :: new) ;
248
248
249
249
let beta_links = if platform. beta {
250
- generate_standalone_links ( "rust" , "beta" , name, extension )
250
+ generate_standalone_links ( "rust" , "beta" , name, extensions )
251
251
} else {
252
252
String :: new ( )
253
253
} ;
254
254
255
255
let nightly_links = if platform. nightly {
256
- generate_standalone_links ( "rust" , "nightly" , name, extension )
256
+ generate_standalone_links ( "rust" , "nightly" , name, extensions )
257
257
} else {
258
258
String :: new ( )
259
259
} ;
@@ -285,16 +285,16 @@ impl Blacksmith {
285
285
writeln ! ( buffer, "---------|--------" ) . unwrap ( ) ;
286
286
287
287
for name in platforms {
288
- let extension = if name. contains ( "windows" ) {
289
- "msi"
288
+ let extensions : & [ & str ] = if name. contains ( "windows" ) {
289
+ & [ "msi" , "tar.gz" ]
290
290
} else if name. contains ( "darwin" ) {
291
- "pkg"
291
+ & [ "pkg" , "tar.gz" ]
292
292
} else {
293
- "tar.gz"
293
+ & [ "tar.gz" ]
294
294
} ;
295
295
296
296
let stable_links =
297
- generate_standalone_links ( "rust" , stable_version, name, extension ) ;
297
+ generate_standalone_links ( "rust" , stable_version, name, extensions ) ;
298
298
299
299
writeln ! (
300
300
buffer,
@@ -326,15 +326,15 @@ impl Blacksmith {
326
326
buffer,
327
327
"stable ({}) | {}" ,
328
328
stable_version,
329
- generate_standalone_links( "rustc" , stable_version, "src" , "tar.xz" )
329
+ generate_standalone_links( "rustc" , stable_version, "src" , & [ "tar.xz" ] )
330
330
)
331
331
. unwrap ( ) ;
332
332
} else {
333
333
writeln ! (
334
334
buffer,
335
335
"{} | {}" ,
336
336
channel,
337
- generate_standalone_links( "rustc" , & channel, "src" , "tar.xz" )
337
+ generate_standalone_links( "rustc" , & channel, "src" , & [ "tar.xz" ] )
338
338
)
339
339
. unwrap ( ) ;
340
340
}
@@ -346,20 +346,27 @@ impl Blacksmith {
346
346
347
347
/// Generates links to standalone installers provided a rust version or channel,
348
348
/// target name, and file extension.
349
- fn generate_standalone_links ( base : & str , stem : & str , name : & str , extension : & str ) -> String {
350
- let url = format ! (
351
- "https://static.rust-lang.org/dist/{base}-{stem}-{name}.{extension}" ,
352
- extension = extension,
353
- name = name,
354
- stem = stem,
355
- base = base,
356
- ) ;
357
-
358
- format ! (
359
- "[{extension}]({url}) <br> [{extension}.asc]({url}.asc)" ,
360
- extension = extension,
361
- url = url,
362
- )
349
+ fn generate_standalone_links ( base : & str , stem : & str , name : & str , extensions : & [ & str ] ) -> String {
350
+ let mut result = String :: new ( ) ;
351
+ for extension in extensions {
352
+ if !result. is_empty ( ) {
353
+ result. push_str ( " <br> " ) ;
354
+ }
355
+ let url = format ! (
356
+ "https://static.rust-lang.org/dist/{base}-{stem}-{name}.{extension}" ,
357
+ extension = extension,
358
+ name = name,
359
+ stem = stem,
360
+ base = base,
361
+ ) ;
362
+
363
+ result. push_str ( & format ! (
364
+ "[{extension}]({url}) <br> [{extension}.asc]({url}.asc)" ,
365
+ extension = extension,
366
+ url = url,
367
+ ) ) ;
368
+ }
369
+ result
363
370
}
364
371
365
372
fn unix_time ( ) -> Option < u64 > {
0 commit comments