File tree Expand file tree Collapse file tree 2 files changed +13
-10
lines changed
Expand file tree Collapse file tree 2 files changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -9,7 +9,6 @@ quick-xml = { version = "0.38", features = ["serialize"] }
99clap = { version = " 4.0" , features = [" derive" ] }
1010cargo_metadata = " 0.20"
1111reqwest = { version = " 0.12" , features = [" blocking" ] }
12- tempfile = " 3.19"
1312zip = " 4.0"
1413serde = { version = " 1.0" , features = [" derive" ] }
1514serde_json = " 1.0"
Original file line number Diff line number Diff line change 11use anyhow:: Result ;
22use reqwest:: blocking:: get;
33use std:: fs;
4+ use std:: io;
5+ use std:: io:: Seek ;
46use std:: path:: Path ;
57use std:: path:: PathBuf ;
68use std:: process:: Command ;
79use std:: process:: ExitStatus ;
8- use tempfile:: NamedTempFile ;
910use zip:: ZipArchive ;
1011
1112#[ allow( dead_code) ]
@@ -91,15 +92,18 @@ fn download_and_extract(
9192 format ! ( "https://www.nuget.org/api/v2/package/{package_name}/{package_version}" ) ;
9293 println ! ( "Downloading NuGet package from: {package_url}" ) ;
9394
94- let mut response = get ( & package_url) ?. error_for_status ( ) ?;
95-
96- let mut temp_file = NamedTempFile :: new ( ) ?;
97- response. copy_to ( & mut temp_file) ?;
98-
99- let zip_file = fs:: File :: open ( temp_file. path ( ) ) ?;
100- let mut archive = ZipArchive :: new ( zip_file) ?;
95+ let mut response = get ( & package_url) ?;
96+ fs:: create_dir_all ( package_output) ?;
97+ let mut nuget_pkg_file = fs:: OpenOptions :: new ( )
98+ . create ( true )
99+ . write ( true )
100+ . read ( true )
101+ . truncate ( true )
102+ . open ( package_output. join ( format ! ( "{package_name}.{package_version}.nupkg" ) ) ) ?;
103+ response. copy_to ( & mut nuget_pkg_file) ?;
104+ nuget_pkg_file. seek ( io:: SeekFrom :: Start ( 0 ) ) ?;
105+ let mut archive = ZipArchive :: new ( nuget_pkg_file) ?;
101106 println ! ( "Extracting NuGet package to: {package_output:?}" ) ;
102107 archive. extract ( package_output) ?;
103-
104108 Ok ( ( ) )
105109}
You can’t perform that action at this time.
0 commit comments