@@ -393,17 +393,6 @@ def setup_testbed():
393393 os .chmod (out_path , 0o755 )
394394
395395
396- # run_testbed will build the app automatically, but it's useful to have this as
397- # a separate command to allow running the app outside of this script.
398- def build_testbed (context ):
399- setup_sdk ()
400- setup_testbed ()
401- run (
402- [gradlew , "--console" , "plain" , "packageDebug" , "packageDebugAndroidTest" ],
403- cwd = TESTBED_DIR ,
404- )
405-
406-
407396# Work around a bug involving sys.exit and TaskGroups
408397# (https://github.com/python/cpython/issues/101515).
409398def exit (* args ):
@@ -645,6 +634,10 @@ async def gradle_task(context):
645634 task_prefix = "connected"
646635 env ["ANDROID_SERIAL" ] = context .connected
647636
637+ # Ensure that CROSS_BUILD_DIR is in the Gradle environment, regardless
638+ # of whether it was set by environment variable or `--cross-build-dir`.
639+ env ["CROSS_BUILD_DIR" ] = CROSS_BUILD_DIR
640+
648641 if context .ci_mode :
649642 context .args [0 :0 ] = [
650643 # See _add_ci_python_opts in libregrtest/main.py.
@@ -871,6 +864,18 @@ def parse_args():
871864
872865 def add_parser (* args , ** kwargs ):
873866 parser = subcommands .add_parser (* args , ** kwargs )
867+ parser .add_argument (
868+ "--cross-build-dir" ,
869+ action = "store" ,
870+ default = os .environ .get ("CROSS_BUILD_DIR" ),
871+ dest = "cross_build_dir" ,
872+ type = Path ,
873+ help = (
874+ "Path to the cross-build directory "
875+ f"(default: { CROSS_BUILD_DIR } ). Can also be set "
876+ "with the CROSS_BUILD_DIR environment variable."
877+ ),
878+ )
874879 parser .add_argument (
875880 "-v" , "--verbose" , action = "count" , default = 0 ,
876881 help = "Show verbose output. Use twice to be even more verbose." )
@@ -883,7 +888,7 @@ def add_parser(*args, **kwargs):
883888 )
884889 configure_build = add_parser (
885890 "configure-build" , help = "Run `configure` for the build Python" )
886- make_build = add_parser (
891+ add_parser (
887892 "make-build" , help = "Run `make` for the build Python" )
888893 configure_host = add_parser (
889894 "configure-host" , help = "Run `configure` for Android" )
@@ -895,38 +900,12 @@ def add_parser(*args, **kwargs):
895900 help = "Delete build directories for the selected target"
896901 )
897902
898- add_parser ("build-testbed" , help = "Build the testbed app" )
899903 test = add_parser ("test" , help = "Run the testbed app" )
900904 package = add_parser ("package" , help = "Make a release package" )
901905 ci = add_parser ("ci" , help = "Run build, package and test" )
902906 env = add_parser ("env" , help = "Print environment variables" )
903907
904908 # Common arguments
905- # --cross-build-dir argument
906- for cmd in [
907- clean ,
908- configure_build ,
909- make_build ,
910- configure_host ,
911- make_host ,
912- build ,
913- package ,
914- test ,
915- ci ,
916- ]:
917- cmd .add_argument (
918- "--cross-build-dir" ,
919- action = "store" ,
920- default = os .environ .get ("CROSS_BUILD_DIR" ),
921- dest = "cross_build_dir" ,
922- type = Path ,
923- help = (
924- "Path to the cross-build directory "
925- f"(default: { CROSS_BUILD_DIR } ). Can also be set "
926- "with the CROSS_BUILD_DIR environment variable."
927- ),
928- )
929-
930909 # --cache-dir option
931910 for cmd in [configure_host , build , ci ]:
932911 cmd .add_argument (
@@ -1031,7 +1010,6 @@ def main():
10311010 "make-host" : make_host_python ,
10321011 "build" : build_targets ,
10331012 "clean" : clean_targets ,
1034- "build-testbed" : build_testbed ,
10351013 "test" : run_testbed ,
10361014 "package" : package ,
10371015 "ci" : ci ,
0 commit comments