@@ -44,7 +44,7 @@ pub enum DocBuilderError {
44
44
LocalDependencyExtractCrateError ( String ) ,
45
45
LocalDependencyDownloadDirNotExist ,
46
46
LocalDependencyIoError ( io:: Error ) ,
47
- FailedToBuildCrate ( String ) ,
47
+ FailedToBuildCrate ,
48
48
49
49
CopyDocumentationCargoTomlNotFound ( io:: Error ) ,
50
50
CopyDocumentationLibNameNotFound ,
@@ -587,8 +587,8 @@ impl DocBuilder {
587
587
let mut log_file = try!( self . open_log_for_crate ( & crte, version_index) ) ;
588
588
589
589
println ! ( "Building documentation for {}-{}" , crte. name, crte. versions[ version_index] ) ;
590
- try!( write ! ( log_file, "Building documentation for {}-{}" ,
591
- crte. name, crte. versions[ version_index] )
590
+ try!( writeln ! ( log_file, "Building documentation for {}-{}" ,
591
+ crte. name, crte. versions[ version_index] )
592
592
. map_err ( DocBuilderError :: LogFileError ) ) ;
593
593
594
594
// removing old build directory
@@ -597,33 +597,40 @@ impl DocBuilder {
597
597
// Download crate
598
598
//write!(&mut log_file, "Downloading crate\n").unwrap();;
599
599
// FIXME: Need to capture failed command outputs
600
- try!( write ! ( log_file, "Downloading crate\n {}" ,
601
- try!( self . download_crate( & crte, version_index)
602
- . map_err( DocBuilderError :: DownloadCrateError ) ) )
600
+ try!( writeln ! ( log_file, "Downloading crate\n {}" ,
601
+ try!( self . download_crate( & crte, version_index)
602
+ . map_err( DocBuilderError :: DownloadCrateError ) ) )
603
603
. map_err ( DocBuilderError :: LogFileError ) ) ;
604
604
605
605
// Extract crate
606
606
//write!(&mut log_file, "Extracting crate\n").unwrap();
607
- try!( write ! ( log_file, "Extracting crate\n {}" ,
608
- try!( self . extract_crate( & crte, version_index)
609
- . map_err( DocBuilderError :: ExtractCrateError ) ) )
607
+ try!( writeln ! ( log_file, "Extracting crate\n {}" ,
608
+ try!( self . extract_crate( & crte, version_index)
609
+ . map_err( DocBuilderError :: ExtractCrateError ) ) )
610
610
. map_err ( DocBuilderError :: LogFileError ) ) ;
611
611
612
- try!( write ! ( log_file, "Checking local dependencies" )
612
+ try!( writeln ! ( log_file, "Checking local dependencies" )
613
613
. map_err ( DocBuilderError :: LogFileError ) ) ;
614
614
// FIXME: Need to log next function somehow
615
615
try!( self . download_dependencies ( & package_root) ) ;
616
616
617
617
// build docs
618
- try!( write ! ( log_file, "Building documentation\n {}" ,
619
- try!( self . build_doc_in_chroot( & crte, version_index)
620
- . map_err( DocBuilderError :: FailedToBuildCrate ) ) )
618
+ try!( writeln ! ( log_file, "Building documentation" )
619
+ . map_err ( DocBuilderError :: LogFileError ) ) ;
620
+ let ( status, message) = match self . build_doc_in_chroot ( & crte, version_index) {
621
+ Ok ( m) => ( true , m) ,
622
+ Err ( m) => ( false , m) ,
623
+ } ;
624
+ try!( writeln ! ( log_file, "{}" , message)
621
625
. map_err ( DocBuilderError :: LogFileError ) ) ;
622
626
623
- // copy docs
624
- try!( self . copy_doc ( & crte, version_index) ) ;
625
-
626
- Ok ( ( ) )
627
+ if status {
628
+ // copy docs
629
+ try!( self . copy_doc ( & crte, version_index) ) ;
630
+ Ok ( ( ) )
631
+ } else {
632
+ Err ( DocBuilderError :: FailedToBuildCrate )
633
+ }
627
634
}
628
635
629
636
0 commit comments