Skip to content

Commit 13b944c

Browse files
committed
Log command output
1 parent 299d118 commit 13b944c

File tree

1 file changed

+24
-17
lines changed

1 file changed

+24
-17
lines changed

src/docbuilder/mod.rs

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ pub enum DocBuilderError {
4444
LocalDependencyExtractCrateError(String),
4545
LocalDependencyDownloadDirNotExist,
4646
LocalDependencyIoError(io::Error),
47-
FailedToBuildCrate(String),
47+
FailedToBuildCrate,
4848

4949
CopyDocumentationCargoTomlNotFound(io::Error),
5050
CopyDocumentationLibNameNotFound,
@@ -587,8 +587,8 @@ impl DocBuilder {
587587
let mut log_file = try!(self.open_log_for_crate(&crte, version_index));
588588

589589
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])
592592
.map_err(DocBuilderError::LogFileError));
593593

594594
// removing old build directory
@@ -597,33 +597,40 @@ impl DocBuilder {
597597
// Download crate
598598
//write!(&mut log_file, "Downloading crate\n").unwrap();;
599599
// 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)))
603603
.map_err(DocBuilderError::LogFileError));
604604

605605
// Extract crate
606606
//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)))
610610
.map_err(DocBuilderError::LogFileError));
611611

612-
try!(write!(log_file, "Checking local dependencies")
612+
try!(writeln!(log_file, "Checking local dependencies")
613613
.map_err(DocBuilderError::LogFileError));
614614
// FIXME: Need to log next function somehow
615615
try!(self.download_dependencies(&package_root));
616616

617617
// 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)
621625
.map_err(DocBuilderError::LogFileError));
622626

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+
}
627634
}
628635

629636

0 commit comments

Comments
 (0)