Skip to content

Commit 27fe980

Browse files
committed
try refactor
1 parent 2897732 commit 27fe980

File tree

1 file changed

+35
-10
lines changed

1 file changed

+35
-10
lines changed

src/docbuilder/rustwide_builder.rs

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,18 @@ impl RustwideBuilder {
335335
.run(|build| {
336336
let metadata = Metadata::from_crate_root(build.host_source_dir())?;
337337

338-
let res =
339-
self.execute_build(HOST_TARGET, true, build, &limits, &metadata, true, false)?;
338+
let res = self.execute_build(
339+
BuildId(0),
340+
DUMMY_CRATE_NAME,
341+
DUMMY_CRATE_VERSION,
342+
HOST_TARGET,
343+
true,
344+
build,
345+
&limits,
346+
&metadata,
347+
true,
348+
false,
349+
)?;
340350
if !res.result.successful {
341351
bail!("failed to build dummy crate for {}", rustc_version);
342352
}
@@ -550,14 +560,13 @@ impl RustwideBuilder {
550560
build.fetch_build_std_dependencies(&targets)?;
551561
}
552562

553-
self.execute_json_build(build_id, name, version, default_target, true, build, &metadata, &limits)?;
554563

555564
let mut has_docs = false;
556565
let mut successful_targets = Vec::new();
557566

558567
// Perform an initial build
559568
let mut res =
560-
self.execute_build(default_target, true, build, &limits, &metadata, false, collect_metrics)?;
569+
self.execute_build(build_id, name, version, default_target, true, build, &limits, &metadata, false, collect_metrics)?;
561570

562571
// If the build fails with the lockfile given, try using only the dependencies listed in Cargo.toml.
563572
let cargo_lock = build.host_source_dir().join("Cargo.lock");
@@ -578,10 +587,8 @@ impl RustwideBuilder {
578587
.args(&["fetch", "--locked"])
579588
.run_capture()?;
580589
}
581-
// let's assume the JSON build also failed when the main build failed
582-
self.execute_json_build(build_id, name, version, default_target, true, build, &metadata, &limits)?;
583590
res =
584-
self.execute_build(default_target, true, build, &limits, &metadata, false, collect_metrics)?;
591+
self.execute_build(build_id, name, version, default_target, true, build, &limits, &metadata, false, collect_metrics)?;
585592
}
586593

587594
if res.result.successful {
@@ -611,10 +618,8 @@ impl RustwideBuilder {
611618
// Limit the number of targets so that no one can try to build all 200000 possible targets
612619
for target in other_targets.into_iter().take(limits.targets()) {
613620
debug!("building package {} {} for {}", name, version, target);
614-
if !metadata.proc_macro {
615-
self.execute_json_build(build_id, name, version, target, false, build, &metadata, &limits)?;
616-
}
617621
let target_res = self.build_target(
622+
build_id, name, version,
618623
target,
619624
build,
620625
&limits,
@@ -790,6 +795,9 @@ impl RustwideBuilder {
790795
#[allow(clippy::too_many_arguments)]
791796
fn build_target(
792797
&self,
798+
build_id: BuildId,
799+
name: &str,
800+
version: &str,
793801
target: &str,
794802
build: &Build,
795803
limits: &Limits,
@@ -799,6 +807,9 @@ impl RustwideBuilder {
799807
collect_metrics: bool,
800808
) -> Result<FullBuildResult> {
801809
let target_res = self.execute_build(
810+
build_id,
811+
name,
812+
version,
802813
target,
803814
false,
804815
build,
@@ -975,6 +986,9 @@ impl RustwideBuilder {
975986
#[allow(clippy::too_many_arguments)]
976987
fn execute_build(
977988
&self,
989+
build_id: BuildId,
990+
name: &str,
991+
version: &str,
978992
target: &str,
979993
is_default_target: bool,
980994
build: &Build,
@@ -1017,6 +1031,17 @@ impl RustwideBuilder {
10171031
}
10181032
};
10191033

1034+
self.execute_json_build(
1035+
build_id,
1036+
name,
1037+
version,
1038+
target,
1039+
is_default_target,
1040+
build,
1041+
metadata,
1042+
limits,
1043+
)?;
1044+
10201045
let successful = {
10211046
let _span = info_span!("cargo_build", target = %target, is_default_target).entered();
10221047
logging::capture(&storage, || {

0 commit comments

Comments
 (0)