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
diff --git a/scripts/cargo2android.py b/scripts/cargo2android.py
index ecdb451..44f7e3e 100755
--- a/scripts/cargo2android.py
+++ b/scripts/cargo2android.py
@@ -649,6 +649,13 @@
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):
@@ -1582,6 +1589,14 @@
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',
default=False,