diff --git a/emu/containers/emulator_container.py b/emu/containers/emulator_container.py index 890529e..7227e23 100644 --- a/emu/containers/emulator_container.py +++ b/emu/containers/emulator_container.py @@ -31,11 +31,12 @@ class EmulatorContainer(DockerContainer): NO_METRICS_MESSAGE = "No metrics are collected when running this container." def __init__( - self, emulator, system_image_container, repository=None, metrics=False, extra="" + self, emulator, system_image_container, repository=None, metrics=False, extra="", name=None ): self.emulator_zip = AndroidReleaseZip(emulator) self.system_image_container = system_image_container self.metrics = metrics + self.name = name if type(extra) is list: extra = " ".join([f'"{s}"' for s in extra]) @@ -100,6 +101,9 @@ def write(self, dest): self.emulator_zip.extract(os.path.join(dest, "emu")) def image_name(self): + if self.name: + return self.name + name = "{}-{}-{}".format( self.props["ro.build.version.sdk"], self.props["qemu.short_tag"], diff --git a/emu/emu_docker.py b/emu/emu_docker.py index ce144b8..a6e4e60 100644 --- a/emu/emu_docker.py +++ b/emu/emu_docker.py @@ -103,7 +103,7 @@ def create_docker_image(args): continue emu_docker = EmulatorContainer( - emulator, sys_docker, args.repo, cfg.collect_metrics(), args.extra + emulator, sys_docker, args.repo, cfg.collect_metrics(), args.extra, args.name ) emu_docker.build(Path(args.dest) / "emulator") @@ -255,6 +255,9 @@ def main(): create_parser.add_argument( "--sys", action="store_true", help="Process system image layer only." ) + create_parser.add_argument( + "--name", help="Name to give image when pushed.", default=None + ) create_parser.set_defaults(func=create_docker_image) create_inter = subparsers.add_parser(