diff options
| author | onur-ozkan <work@onurozkan.dev> | 2024-06-03 06:58:30 +0300 | 
|---|---|---|
| committer | onur-ozkan <work@onurozkan.dev> | 2024-06-03 07:19:11 +0300 | 
| commit | 92f85f12a82ac23b794dcdd58a76b0ae7519951c (patch) | |
| tree | 32c3779ff000bd45b40cb52ebd17b9d58340ccd7 /src/bootstrap/bootstrap.py | |
| parent | 05965ae238403d8c141170b411245a62aa046240 (diff) | |
| download | rust-92f85f12a82ac23b794dcdd58a76b0ae7519951c.tar.gz rust-92f85f12a82ac23b794dcdd58a76b0ae7519951c.zip | |
wipe bootstrap build before switching to bumped rustc
Technically, wiping bootstrap builds can increase the build time. But in practice, trying to manually resolve post-bump issues and even accidentally removing the entire build directory will result in a much greater loss of time. After all, the bootstrap build process is not a particularly lengthy operation. Signed-off-by: onur-ozkan <work@onurozkan.dev>
Diffstat (limited to 'src/bootstrap/bootstrap.py')
| -rw-r--r-- | src/bootstrap/bootstrap.py | 18 | 
1 files changed, 17 insertions, 1 deletions
| diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index e60e8f0aa1f..9861121aac0 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -599,6 +599,12 @@ class RustBuild(object): print('Choosing a pool size of', pool_size, 'for the unpacking of the tarballs') p = Pool(pool_size) try: + # FIXME: A cheap workaround for https://github.com/rust-lang/rust/issues/125578, + # remove this once the issue is closed. + bootstrap_out = self.bootstrap_out() + if os.path.exists(bootstrap_out): + shutil.rmtree(bootstrap_out) + p.map(unpack_component, tarballs_download_info) finally: p.close() @@ -864,6 +870,16 @@ class RustBuild(object): return line[start + 1:end] return None + def bootstrap_out(self): + """Return the path of the bootstrap build artifacts + + >>> rb = RustBuild() + >>> rb.build_dir = "build" + >>> rb.bootstrap_binary() == os.path.join("build", "bootstrap") + True + """ + return os.path.join(self.build_dir, "bootstrap") + def bootstrap_binary(self): """Return the path of the bootstrap binary @@ -873,7 +889,7 @@ class RustBuild(object): ... "debug", "bootstrap") True """ - return os.path.join(self.build_dir, "bootstrap", "debug", "bootstrap") + return os.path.join(self.bootstrap_out(), "debug", "bootstrap") def build_bootstrap(self): """Build bootstrap""" | 
