From 66aa9bff663b778fbdab6e74ab4da58a56e3b7bc Mon Sep 17 00:00:00 2001 From: debris Date: Mon, 4 Jun 2018 10:03:13 +0200 Subject: [PATCH] extracted duplicated chunk of code into `fn emit_build_output`, removed redundant line from `compiler_json_error_format` test --- src/cargo/core/compiler/custom_build.rs | 42 +++++++++++-------------- tests/testsuite/build.rs | 1 - 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/cargo/core/compiler/custom_build.rs b/src/cargo/core/compiler/custom_build.rs index f60f3bf63..880fcd49c 100644 --- a/src/cargo/core/compiler/custom_build.rs +++ b/src/cargo/core/compiler/custom_build.rs @@ -105,6 +105,22 @@ pub fn prepare<'a, 'cfg>( } } +fn emit_build_output(output: &BuildOutput, id: &PackageId) { + let library_paths = output + .library_paths + .iter() + .map(|l| l.display().to_string()) + .collect::>(); + + machine_message::emit(&machine_message::BuildScript { + package_id: id, + linked_libs: &output.library_links, + linked_paths: &library_paths, + cfgs: &output.cfgs, + env: &output.env, + }); +} + fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) -> CargoResult<(Work, Work)> { assert!(unit.mode.is_run_custom_build()); let bcx = &cx.bcx; @@ -336,18 +352,7 @@ fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) -> CargoRes BuildOutput::parse(&output.stdout, &pkg_name, &root_output, &root_output)?; if json_messages { - let library_paths = parsed_output - .library_paths - .iter() - .map(|l| l.display().to_string()) - .collect::>(); - machine_message::emit(&machine_message::BuildScript { - package_id: &id, - linked_libs: &parsed_output.library_links, - linked_paths: &library_paths, - cfgs: &parsed_output.cfgs, - env: &parsed_output.env, - }); + emit_build_output(&parsed_output, &id); } build_state.insert(id, kind, parsed_output); } @@ -367,18 +372,7 @@ fn build_work<'a, 'cfg>(cx: &mut Context<'a, 'cfg>, unit: &Unit<'a>) -> CargoRes }; if json_messages { - let library_paths = output - .library_paths - .iter() - .map(|l| l.display().to_string()) - .collect::>(); - machine_message::emit(&machine_message::BuildScript { - package_id: &id, - linked_libs: &output.library_links, - linked_paths: &library_paths, - cfgs: &output.cfgs, - env: &output.env, - }); + emit_build_output(&output, &id); } build_state.insert(id, kind, output); diff --git a/tests/testsuite/build.rs b/tests/testsuite/build.rs index 5026688ab..8b86e5ce3 100644 --- a/tests/testsuite/build.rs +++ b/tests/testsuite/build.rs @@ -3976,7 +3976,6 @@ fn compiler_json_error_format() { name = "foo" version = "0.5.0" authors = ["wycats@example.com"] - build = "build.rs" [dependencies.bar] path = "bar" -- 2.30.2