Improve package version logic

Only run cargo metadata on the main crate, not all of its dependencies.

Pass it the --format-version argument to avoid a warning and be
future-proof.

Test: Run.
Change-Id: Icdf88bc3b633d18266772ae813fc04b529b95765
This commit is contained in:
Joel Galenson
2021-08-16 11:31:29 -07:00
parent c51865074b
commit 69ba807921

View File

@@ -456,7 +456,7 @@ class Crate(object):
self.root_pkg = self.crate_name
# get the package version from running cargo metadata
if not self.runner.args.no_pkg_vers:
if not self.runner.args.no_pkg_vers and not self.skip_crate():
self.get_pkg_version()
self.device_supported = self.runner.args.device
@@ -483,7 +483,8 @@ class Crate(object):
and where the package name does not match the emitted crate_name
(e.g. [lib.name] is set).
"""
cargo_metadata = subprocess.run([self.runner.cargo_path, 'metadata', '--no-deps'],
cargo_metadata = subprocess.run([self.runner.cargo_path, 'metadata', '--no-deps',
'--format-version', '1'],
cwd=os.path.abspath(self.cargo_dir),
stdout=subprocess.PIPE)
if cargo_metadata.returncode: