From 25264203b137d5f95c36ea5ef6e63f39fdbff650 Mon Sep 17 00:00:00 2001 From: Stanislav Shamilov Date: Wed, 27 Nov 2024 19:40:36 +0200 Subject: [PATCH] adds package update --- plugins/module_utils/sdkmanager.py | 5 +++-- plugins/modules/android_sdk.py | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/plugins/module_utils/sdkmanager.py b/plugins/module_utils/sdkmanager.py index 96b94e5eb3..2e66a1e2de 100644 --- a/plugins/module_utils/sdkmanager.py +++ b/plugins/module_utils/sdkmanager.py @@ -13,6 +13,7 @@ def sdkmanager_runner(module, **kwargs): command='sdkmanager', arg_formats=dict( state=cmd_runner_fmt.as_map(_state_map), - name=cmd_runner_fmt.as_list() - ) + name=cmd_runner_fmt.as_list(), + update=cmd_runner_fmt.as_bool("--update") + ), ) diff --git a/plugins/modules/android_sdk.py b/plugins/modules/android_sdk.py index 0466116f3f..e5a33455b7 100644 --- a/plugins/modules/android_sdk.py +++ b/plugins/modules/android_sdk.py @@ -8,7 +8,8 @@ class AndroidSdk(StateModuleHelper): module = dict( argument_spec=dict( state=dict(type='str', default='present', choices=['present', 'absent', 'latest']), - package=dict(type='list', elements='str', aliases=['pkg', 'name']) + package=dict(type='list', elements='str', aliases=['pkg', 'name']), + update=dict(type='bool', default=False) ) ) use_old_vardict = False @@ -22,19 +23,24 @@ class AndroidSdk(StateModuleHelper): packages.append(fmt_pkg) return packages - def state_present(self): + def __state_fallback__(self): packages = self._get_formatted_packages() with self.sdkmanager('state name') as ctx: ctx.run(name=packages) - def state_absent(self): - packages = self._get_formatted_packages() - with self.sdkmanager('state name') as ctx: - ctx.run(name=packages) + def update_packages(self): + with self.sdkmanager('update') as ctx: + ctx.run() def __init_module__(self): self.sdkmanager = sdkmanager_runner(self.module) + def __run__(self): + super().__run__() + + if self.vars.update: + self.update_packages() + def format_cmdline_package(package, version): if version is None: @@ -44,7 +50,7 @@ def format_cmdline_package(package, version): def package_split(package): - parts = re.split(r'=', package, maxsplit=1) + parts = package.split('=', maxsplit=1) if len(parts) > 1: return parts return parts[0], None