@@ -32,6 +32,7 @@ mod html_scanner;
3232mod index_pipe;
3333#[ macro_use]
3434mod merge_pipe;
35+ mod lean;
3536mod metadata;
3637mod opts;
3738mod pypi;
@@ -226,7 +227,7 @@ fn main() {
226227 let script_src = rewrite_pipe:: RewritePipe :: new (
227228 stream_pipe:: ByteStreamPipe :: new (
228229 source. get_script ( ) ,
229- buffer_path. clone ( ) . unwrap ( ) ,
230+ buffer_path. clone ( ) . expect ( "buffer path is not present" ) ,
230231 false ,
231232 ) ,
232233 buffer_path. clone ( ) . unwrap ( ) ,
@@ -321,6 +322,36 @@ fn main() {
321322 index_bytes_pipe!( buffer_path, prefix, false , 999 )
322323 ) ;
323324 }
325+ Source :: Elan ( source) => {
326+ let elan_src = stream_pipe:: ByteStreamPipe :: new (
327+ GitHubRelease :: new (
328+ String :: from ( "leanprover/elan" ) ,
329+ source. retain_elan_versions ,
330+ ) ,
331+ buffer_path. clone ( ) . unwrap ( ) ,
332+ true ,
333+ ) ;
334+ let lean_src = stream_pipe:: ByteStreamPipe :: new (
335+ GitHubRelease :: new (
336+ String :: from ( "leanprover/lean4" ) ,
337+ source. retain_lean_versions ,
338+ ) ,
339+ buffer_path. clone ( ) . unwrap ( ) ,
340+ true ,
341+ ) ;
342+ let unified = merge_pipe ! {
343+ elan: elan_src,
344+ lean: lean_src,
345+ } ;
346+ let indexed = index_pipe:: IndexPipe :: new (
347+ unified,
348+ buffer_path. clone ( ) . unwrap ( ) ,
349+ prefix. clone ( ) . unwrap ( ) ,
350+ 999 ,
351+ ) ;
352+
353+ transfer ! ( opts, indexed, transfer_config, id_pipe!( ) ) ;
354+ }
324355 }
325356 } ) ;
326357}
0 commit comments