Let cargo2android.py generate apex_available and min_sdk_version.

This commit adds an --apex-available option to cargo2android.py.  It
takes in multiple strings that are included in the generated block.

It also adds --min-sdk-version.

Test: Use flags.
Change-Id: I319a32fc5e8be11015ba4484b0ab1665ee457326
This commit is contained in:
Joel Galenson
2021-04-23 10:26:40 -07:00
parent 0fbdafe016
commit d9c4de6fe3

View File

@@ -649,6 +649,13 @@ class Crate(object):
self.dump_edition_flags_libs()
if self.runner.args.host_first_multilib and self.host_supported and crate_type != 'test':
self.write(' compile_multilib: "first",')
if self.runner.args.apex_available and crate_type == 'lib':
self.write(' apex_available: [')
for apex in self.runner.args.apex_available:
self.write(' "%s",' % apex)
self.write(' ],')
if self.runner.args.min_sdk_version and crate_type == 'lib':
self.write(' min_sdk_version: "%s",' % self.runner.args.min_sdk_version)
self.write('}')
def dump_android_flags(self):
@@ -1581,6 +1588,14 @@ def get_parser():
default=False,
help=('run cargo build with existing Cargo.lock ' +
'(used when some latest dependent crates failed)'))
parser.add_argument(
'--min-sdk-version',
type=str,
help='Minimum SDK version')
parser.add_argument(
'--apex-available',
nargs='*',
help='Mark the main library as apex_available with the given apexes.')
parser.add_argument(
'--no-test-mapping',
action='store_true',