Bug 1324462 - Don't automatically upgrade dependent libraries when running |mach vendor rust|. r?ted
This allows developers to manually upgrade packages as desired by running
|cargo update -p <package>| or |cargo update| on gkrust and gkrust-gtest.
Previously this update would happen implicitly as part of |mach vendor rust|,
and made it hard to upgrade specific packages without upgrading everything.
MozReview-Commit-ID: FrtLZof5Hh7
--- a/python/mozbuild/mozbuild/vendor_rust.py
+++ b/python/mozbuild/mozbuild/vendor_rust.py
@@ -71,17 +71,17 @@ Please commit or stash these changes bef
self.run_process(args=[cargo, 'install', 'cargo-vendor'])
else:
self.log(logging.DEBUG, 'cargo_vendor', {}, 'cargo-vendor already intalled')
vendor_dir = mozpath.join(self.topsrcdir, 'third_party/rust')
self.log(logging.INFO, 'rm_vendor_dir', {}, 'rm -rf %s' % vendor_dir)
mozfile.remove(vendor_dir)
# Once we require a new enough cargo to switch to workspaces, we can
# just do this once on the workspace root crate.
- for crate_root in ('toolkit/library/rust/',
- 'toolkit/library/gtest/rust',
- 'js/src'):
+ for (crate_root, lib) in (('toolkit/library/rust/', 'gkrust'),
+ ('toolkit/library/gtest/rust', 'gkrust-gtest'),
+ ('js/src', 'mozjs_sys')):
path = mozpath.join(self.topsrcdir, crate_root)
- self._run_command_in_srcdir(args=[cargo, 'generate-lockfile', '--manifest-path', mozpath.join(path, 'Cargo.toml')])
+ self._run_command_in_srcdir(args=[cargo, 'update', '--manifest-path', mozpath.join(path, 'Cargo.toml'), '-p', lib])
self._run_command_in_srcdir(args=[cargo, 'vendor', '--sync', mozpath.join(path, 'Cargo.lock'), vendor_dir])
#TODO: print stats on size of files added/removed, warn or error
# when adding very large files (bug 1306078)
self.repository.add_remove_files(vendor_dir)