report: add BuildView/Prompter ports and drive pkh build through them
Core flows no longer reach into the terminal UI: build_source_package takes a BuildSourceOptions struct (source tree, domain options, view, prompter) and reports phases, messages and outcomes through the environment-agnostic ports in the new report module. The classifiers move from ui/logfmt to the core logfmt module, DebUi becomes a BuildView adapter, the re-vendor retry asks the prompter instead of checking for a TTY, and artifact/success printing moves to the CLI. Headless consumers pass report::Quiet; an embedding (e.g. a builder server forwarding events to a web frontend) implements BuildView and maps the plain-data events onto its own wire format.
This commit is contained in:
@@ -593,12 +593,13 @@ pub async fn offer_verification(
|
||||
return;
|
||||
}
|
||||
|
||||
let ui = Some(std::sync::Arc::new(crate::ui::deb::DebUi::new(multi)));
|
||||
if let Err(e) = crate::build::build_source_package(
|
||||
Some(&tree),
|
||||
crate::build::SourceBuildOptions::default(),
|
||||
ui,
|
||||
) {
|
||||
let ui = std::sync::Arc::new(crate::ui::deb::DebUi::new(multi));
|
||||
if let Err(e) = crate::build::build_source_package(crate::build::BuildSourceOptions {
|
||||
source: Some(tree.clone()),
|
||||
options: crate::build::SourceBuildOptions::default(),
|
||||
view: &*ui,
|
||||
prompter: &crate::ui::prompt::TerminalPrompter,
|
||||
}) {
|
||||
log::error!("Verification source build failed: {e}");
|
||||
log::info!(
|
||||
"The scaffolded tree is intact. Inspect it, then retry with \
|
||||
|
||||
Reference in New Issue
Block a user