@@ -446,6 +446,15 @@ impl RustwideBuilder {
446
446
Err ( err) => warn ! ( "{:#?}" , err) ,
447
447
}
448
448
449
+ // delete eventually existing files from pre-archive storage.
450
+ // we're doing this in the end so eventual problems in the build
451
+ // won't lead to non-existing docs.
452
+ for prefix in & [ "rustdoc" , "sources" ] {
453
+ let prefix = format ! ( "{}/{}/{}/" , prefix, name, version) ;
454
+ log:: debug!( "cleaning old storage folder {}" , prefix) ;
455
+ self . storage . delete_prefix ( & prefix) ?;
456
+ }
457
+
449
458
Ok ( res. result . successful )
450
459
} ) ( )
451
460
. map_err ( |e| failure:: Error :: from_boxed_compat ( e. into ( ) ) )
@@ -761,10 +770,14 @@ mod tests {
761
770
let version = DUMMY_CRATE_VERSION ;
762
771
let default_target = "x86_64-unknown-linux-gnu" ;
763
772
773
+ let storage = env. storage ( ) ;
774
+ let old_rustdoc_file = format ! ( "rustdoc/{}/{}/some_doc_file" , crate_, version) ;
775
+ let old_source_file = format ! ( "sources/{}/{}/some_source_file" , crate_, version) ;
776
+ storage. store_one ( & old_rustdoc_file, Vec :: new ( ) ) ?;
777
+ storage. store_one ( & old_source_file, Vec :: new ( ) ) ?;
778
+
764
779
let mut builder = RustwideBuilder :: init ( env) . unwrap ( ) ;
765
- builder
766
- . build_package ( crate_, version, PackageKind :: CratesIo )
767
- . map ( |_| ( ) ) ?;
780
+ assert ! ( builder. build_package( crate_, version, PackageKind :: CratesIo ) ?) ;
768
781
769
782
// check release record in the db (default and other targets)
770
783
let mut conn = env. db ( ) . conn ( ) ;
@@ -812,9 +825,12 @@ mod tests {
812
825
]
813
826
) ;
814
827
815
- let storage = env. storage ( ) ;
816
828
let web = env. frontend ( ) ;
817
829
830
+ // old rustdoc & source files are gone
831
+ assert ! ( !storage. exists( & old_rustdoc_file) ?) ;
832
+ assert ! ( !storage. exists( & old_source_file) ?) ;
833
+
818
834
// doc archive exists
819
835
let doc_archive = rustdoc_archive_path ( crate_, version) ;
820
836
assert ! ( storage. exists( & doc_archive) ?) ;
0 commit comments