os.chmod(out_path, 0o755)
-# run_testbed will build the app automatically, but it's useful to have this as
-# a separate command to allow running the app outside of this script.
-def build_testbed(context):
- setup_sdk()
- setup_testbed()
- run(
- [gradlew, "--console", "plain", "packageDebug", "packageDebugAndroidTest"],
- cwd=TESTBED_DIR,
- )
-
-
# Work around a bug involving sys.exit and TaskGroups
# (https://github.com/python/cpython/issues/101515).
def exit(*args):
task_prefix = "connected"
env["ANDROID_SERIAL"] = context.connected
+ # Ensure that CROSS_BUILD_DIR is in the Gradle environment, regardless
+ # of whether it was set by environment variable or `--cross-build-dir`.
+ env["CROSS_BUILD_DIR"] = CROSS_BUILD_DIR
+
if context.ci_mode:
context.args[0:0] = [
# See _add_ci_python_opts in libregrtest/main.py.
def add_parser(*args, **kwargs):
parser = subcommands.add_parser(*args, **kwargs)
+ parser.add_argument(
+ "--cross-build-dir",
+ action="store",
+ default=os.environ.get("CROSS_BUILD_DIR"),
+ dest="cross_build_dir",
+ type=Path,
+ help=(
+ "Path to the cross-build directory "
+ f"(default: {CROSS_BUILD_DIR}). Can also be set "
+ "with the CROSS_BUILD_DIR environment variable."
+ ),
+ )
parser.add_argument(
"-v", "--verbose", action="count", default=0,
help="Show verbose output. Use twice to be even more verbose.")
)
configure_build = add_parser(
"configure-build", help="Run `configure` for the build Python")
- make_build = add_parser(
+ add_parser(
"make-build", help="Run `make` for the build Python")
configure_host = add_parser(
"configure-host", help="Run `configure` for Android")
help="Delete build directories for the selected target"
)
- add_parser("build-testbed", help="Build the testbed app")
test = add_parser("test", help="Run the testbed app")
package = add_parser("package", help="Make a release package")
ci = add_parser("ci", help="Run build, package and test")
env = add_parser("env", help="Print environment variables")
# Common arguments
- # --cross-build-dir argument
- for cmd in [
- clean,
- configure_build,
- make_build,
- configure_host,
- make_host,
- build,
- package,
- test,
- ci,
- ]:
- cmd.add_argument(
- "--cross-build-dir",
- action="store",
- default=os.environ.get("CROSS_BUILD_DIR"),
- dest="cross_build_dir",
- type=Path,
- help=(
- "Path to the cross-build directory "
- f"(default: {CROSS_BUILD_DIR}). Can also be set "
- "with the CROSS_BUILD_DIR environment variable."
- ),
- )
-
# --cache-dir option
for cmd in [configure_host, build, ci]:
cmd.add_argument(
"make-host": make_host_python,
"build": build_targets,
"clean": clean_targets,
- "build-testbed": build_testbed,
"test": run_testbed,
"package": package,
"ci": ci,