@@ -34,28 +34,30 @@ impl KrateSource {
34
34
self . name, self . version
35
35
) ;
36
36
println ! ( "Downloading {}, {} / {}" , self . name, self . version, url) ;
37
- std:: fs:: create_dir ( "target/crater/" ) . unwrap ( ) ;
37
+ let _ = std:: fs:: create_dir ( "target/crater/" ) ;
38
38
39
- std:: fs:: create_dir ( & krate_download_dir) . unwrap ( ) ;
40
- std:: fs:: create_dir ( & extract_dir) . unwrap ( ) ;
39
+ let _ = std:: fs:: create_dir ( & krate_download_dir) ;
40
+ let _ = std:: fs:: create_dir ( & extract_dir) ;
41
41
42
42
let krate_name = format ! ( "{}-{}.crate.tar.gz" , & self . name, & self . version) ;
43
- let mut krate_dest = std:: fs:: File :: create ( krate_download_dir. join ( krate_name) ) . unwrap ( ) ;
43
+ let krate_file_path = krate_download_dir. join ( krate_name) ;
44
+ let mut krate_dest = std:: fs:: File :: create ( & krate_file_path) . unwrap ( ) ;
44
45
let mut krate_req = ureq:: get ( & url) . call ( ) . unwrap ( ) . into_reader ( ) ;
45
46
std:: io:: copy ( & mut krate_req, & mut krate_dest) . unwrap ( ) ;
46
- let krate = krate_dest;
47
- dbg ! ( & krate) ;
48
- let tar = flate2:: read:: GzDecoder :: new ( & krate) ;
49
- let mut archiv = tar:: Archive :: new ( tar) ;
50
- let extracted_path = extract_dir. join ( format ! ( "{}-{}" , self . name, self . version) ) ;
51
- // println!("ar: p: {:?}", &krate, extracted_path);
52
- archiv. unpack ( & extracted_path) . expect ( "Failed to extract!" ) ;
53
- // extract
47
+ // unzip the tarball
48
+ let dl = std:: fs:: File :: open ( krate_file_path) . unwrap ( ) ;
49
+
50
+ let ungz_tar = flate2:: read:: GzDecoder :: new ( dl) ;
51
+ // extract the tar archive
52
+ let mut archiv = tar:: Archive :: new ( ungz_tar) ;
53
+ let extract_path = extract_dir. join ( format ! ( "{}-{}/" , self . name, self . version) ) ;
54
+ archiv. unpack ( & extract_path) . expect ( "Failed to extract!" ) ;
55
+ // extracted
54
56
55
57
Krate {
56
58
version : self . version . clone ( ) ,
57
59
name : self . name . clone ( ) ,
58
- path : extracted_path ,
60
+ path : extract_path ,
59
61
}
60
62
}
61
63
}
@@ -88,11 +90,13 @@ pub fn run() {
88
90
// assert that clippy is found
89
91
assert ! (
90
92
cargo_clippy_path. is_file( ) ,
91
- "target/debug/cargo-clippy binary not found! {}" , cargo_clippy_path. display( )
93
+ "target/debug/cargo-clippy binary not found! {}" ,
94
+ cargo_clippy_path. display( )
92
95
) ;
93
96
assert ! (
94
97
clippy_driver_path. is_file( ) ,
95
- "target/debug/clippy-driver binary not found! {}" , clippy_driver_path. display( )
98
+ "target/debug/clippy-driver binary not found! {}" ,
99
+ clippy_driver_path. display( )
96
100
) ;
97
101
98
102
// download and extract the crates, then run clippy on them and collect clippys warnings
0 commit comments