mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 01:34:21 +00:00
Rollup merge of #90800 - aplanas:fix_cargo_config, r=Mark-Simulacrum
bootstap: create .cargo/config only if not present In some situations we should want on influence into the .cargo/config when we use vendored source. One example is #90764, when we want to workaround some references to crates forked and living in git, that are missing in the vendor/ directory. This commit will create the .cargo/config file only when the .cargo/ directory needs to be created.
This commit is contained in:
commit
b542224fa5
@ -1119,17 +1119,22 @@ class RustBuild(object):
|
|||||||
raise Exception("{} not found".format(vendor_dir))
|
raise Exception("{} not found".format(vendor_dir))
|
||||||
|
|
||||||
if self.use_vendored_sources:
|
if self.use_vendored_sources:
|
||||||
|
config = ("[source.crates-io]\n"
|
||||||
|
"replace-with = 'vendored-sources'\n"
|
||||||
|
"registry = 'https://example.com'\n"
|
||||||
|
"\n"
|
||||||
|
"[source.vendored-sources]\n"
|
||||||
|
"directory = '{}/vendor'\n"
|
||||||
|
.format(self.rust_root))
|
||||||
if not os.path.exists('.cargo'):
|
if not os.path.exists('.cargo'):
|
||||||
os.makedirs('.cargo')
|
os.makedirs('.cargo')
|
||||||
with output('.cargo/config') as cargo_config:
|
with output('.cargo/config') as cargo_config:
|
||||||
cargo_config.write(
|
cargo_config.write(config)
|
||||||
"[source.crates-io]\n"
|
else:
|
||||||
"replace-with = 'vendored-sources'\n"
|
print('info: using vendored source, but .cargo/config is already present.')
|
||||||
"registry = 'https://example.com'\n"
|
print(' Reusing the current configuration file. But you may want to '
|
||||||
"\n"
|
'configure vendoring like this:')
|
||||||
"[source.vendored-sources]\n"
|
print(config)
|
||||||
"directory = '{}/vendor'\n"
|
|
||||||
.format(self.rust_root))
|
|
||||||
else:
|
else:
|
||||||
if os.path.exists('.cargo'):
|
if os.path.exists('.cargo'):
|
||||||
shutil.rmtree('.cargo')
|
shutil.rmtree('.cargo')
|
||||||
|
Loading…
Reference in New Issue
Block a user