Skip to content

Commit 3529ea8

Browse files
committed
moved dist config parsing logic to toml/dist.rs
1 parent 217238f commit 3529ea8

File tree

2 files changed

+29
-23
lines changed

2 files changed

+29
-23
lines changed

src/bootstrap/src/core/config/parsing.rs

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -995,28 +995,7 @@ impl Config {
995995
build_target.llvm_filecheck = Some(ci_llvm_bin.join(exe("FileCheck", config.build)));
996996
}
997997

998-
if let Some(dist) = toml.dist {
999-
let Dist {
1000-
sign_folder,
1001-
upload_addr,
1002-
src_tarball,
1003-
compression_formats,
1004-
compression_profile,
1005-
include_mingw_linker,
1006-
vendor,
1007-
} = dist;
1008-
config.dist_sign_folder = sign_folder.map(PathBuf::from);
1009-
config.dist_upload_addr = upload_addr;
1010-
config.dist_compression_formats = compression_formats;
1011-
set(&mut config.dist_compression_profile, compression_profile);
1012-
set(&mut config.rust_dist_src, src_tarball);
1013-
set(&mut config.dist_include_mingw_linker, include_mingw_linker);
1014-
config.dist_vendor = vendor.unwrap_or_else(|| {
1015-
// If we're building from git or tarball sources, enable it by default.
1016-
config.rust_info.is_managed_git_subrepository()
1017-
|| config.rust_info.is_from_tarball()
1018-
});
1019-
}
998+
config.apply_dist_config(toml.dist);
1020999

10211000
config.initial_rustfmt =
10221001
if let Some(r) = rustfmt { Some(r) } else { config.maybe_download_rustfmt() };

src/bootstrap/src/core/config/toml/dist.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
use serde::{Deserialize, Deserializer};
22

3+
use crate::core::config::set;
34
use crate::core::config::toml::{Merge, ReplaceOpt};
4-
use crate::{HashSet, PathBuf, define_config, exit};
5+
use crate::{Config, HashSet, PathBuf, define_config, exit};
56

67
define_config! {
78
struct Dist {
@@ -14,3 +15,29 @@ define_config! {
1415
vendor: Option<bool> = "vendor",
1516
}
1617
}
18+
19+
impl Config {
20+
pub fn apply_dist_config(&mut self, toml_dist: Option<Dist>) {
21+
if let Some(dist) = toml_dist {
22+
let Dist {
23+
sign_folder,
24+
upload_addr,
25+
src_tarball,
26+
compression_formats,
27+
compression_profile,
28+
include_mingw_linker,
29+
vendor,
30+
} = dist;
31+
self.dist_sign_folder = sign_folder.map(PathBuf::from);
32+
self.dist_upload_addr = upload_addr;
33+
self.dist_compression_formats = compression_formats;
34+
set(&mut self.dist_compression_profile, compression_profile);
35+
set(&mut self.rust_dist_src, src_tarball);
36+
set(&mut self.dist_include_mingw_linker, include_mingw_linker);
37+
self.dist_vendor = vendor.unwrap_or_else(|| {
38+
// If we're building from git or tarball sources, enable it by default.
39+
self.rust_info.is_managed_git_subrepository() || self.rust_info.is_from_tarball()
40+
});
41+
}
42+
}
43+
}

0 commit comments

Comments
 (0)