From d367bd2b196aef2b9b794d75ab91b482c008f16b Mon Sep 17 00:00:00 2001 From: Stanislav Shamilov Date: Thu, 12 Dec 2024 15:34:05 +0200 Subject: [PATCH] applies code review suggestions --- plugins/module_utils/sdkmanager.py | 9 ++++----- plugins/modules/android_sdk.py | 11 +++-------- .../targets/android_sdk/handlers/main.yml | 9 --------- tests/integration/targets/android_sdk/meta/main.yml | 1 + .../targets/android_sdk/tasks/default-tests.yml | 13 +++---------- .../targets/android_sdk/tasks/freebsd-tests.yml | 13 +++---------- 6 files changed, 14 insertions(+), 42 deletions(-) delete mode 100644 tests/integration/targets/android_sdk/handlers/main.yml diff --git a/plugins/module_utils/sdkmanager.py b/plugins/module_utils/sdkmanager.py index 4666156fd2..6cb63e4b29 100644 --- a/plugins/module_utils/sdkmanager.py +++ b/plugins/module_utils/sdkmanager.py @@ -10,8 +10,7 @@ __metaclass__ = type import re -from ansible_collections.community.general.plugins.module_utils import cmd_runner_fmt -from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner +from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt __state_map = { "present": "--install", @@ -113,7 +112,7 @@ class AndroidSdkManager(object): with self.runner('state name sdk_root channel', data=data) as ctx: rc, stdout, stderr = ctx.run(name=command_arg, data=data) - data = stdout.split('\n') + data = stdout.splitlines() for line in data: if self._RE_ACCEPT_LICENSE.match(line): @@ -124,7 +123,7 @@ class AndroidSdkManager(object): return rc, stdout, stderr def _try_parse_stderr(self, stderr): - data = stderr.split('\n') + data = stderr.splitlines() for line in data: unknown_package_regex = self._RE_UNKNOWN_PACKAGE.match(line) if unknown_package_regex: @@ -133,7 +132,7 @@ class AndroidSdkManager(object): @staticmethod def _parse_packages(stdout, header_regexp, row_regexp): - data = stdout.split('\n') + data = stdout.splitlines() updatable_section_found = False i = 0 diff --git a/plugins/modules/android_sdk.py b/plugins/modules/android_sdk.py index 4d7bab0ea8..6fa6878cdf 100644 --- a/plugins/modules/android_sdk.py +++ b/plugins/modules/android_sdk.py @@ -145,15 +145,10 @@ class AndroidSdk(StateModuleHelper): self.vars.set('removed', [], change=True) def _parse_packages(self): - arg_pkgs = self.vars.package - packages = set() - for arg_pkg in arg_pkgs: - package = Package(arg_pkg) - packages.add(package) - - if len(packages) < len(arg_pkgs): + arg_pkgs = set(self.vars.package) + if len(arg_pkgs) < len(self.vars.package): self.do_raise("Packages may not repeat") - return packages + return set([Package(p) for p in arg_pkgs]) def state_present(self): packages = self._parse_packages() diff --git a/tests/integration/targets/android_sdk/handlers/main.yml b/tests/integration/targets/android_sdk/handlers/main.yml deleted file mode 100644 index 316f6839c7..0000000000 --- a/tests/integration/targets/android_sdk/handlers/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -# Copyright (c) Ansible Project -# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) -# SPDX-License-Identifier: GPL-3.0-or-later - -- name: delete_newroot - file: - path: "{{ ansible_env.HOME }}/newroot" - state: absent \ No newline at end of file diff --git a/tests/integration/targets/android_sdk/meta/main.yml b/tests/integration/targets/android_sdk/meta/main.yml index 2fcd152f95..d7c152feeb 100644 --- a/tests/integration/targets/android_sdk/meta/main.yml +++ b/tests/integration/targets/android_sdk/meta/main.yml @@ -5,3 +5,4 @@ dependencies: - setup_pkg_mgr + - setup_remote_tmp_dir \ No newline at end of file diff --git a/tests/integration/targets/android_sdk/tasks/default-tests.yml b/tests/integration/targets/android_sdk/tasks/default-tests.yml index 61e31177a5..1cb92b13d8 100644 --- a/tests/integration/targets/android_sdk/tasks/default-tests.yml +++ b/tests/integration/targets/android_sdk/tasks/default-tests.yml @@ -59,26 +59,19 @@ state: latest register: platform_tools_updated -- name: Create new sdk root - file: - path: "{{ ansible_env.HOME }}/newroot" - state: directory - register: newroot - notify: delete_newroot - - name: Accept licenses in the new root - shell: "yes | sdkmanager --sdk_root={{ newroot.path }} --licenses" + shell: "yes | sdkmanager --sdk_root={{ remote_tmp_dir }} --licenses" - name: Install a package to a new root android_sdk: name: build-tools;34.0.0 state: present - sdk_root: "{{ newroot.path }}" + sdk_root: "{{ remote_tmp_dir }}" register: new_root_package - name: Check package is installed stat: - path: "{{ newroot.path }}/build-tools/34.0.0" + path: "{{ remote_tmp_dir }}/build-tools/34.0.0" register: new_root_package_stat - name: Install a package from canary channel diff --git a/tests/integration/targets/android_sdk/tasks/freebsd-tests.yml b/tests/integration/targets/android_sdk/tasks/freebsd-tests.yml index 9fb1d06692..d35a5e94a8 100644 --- a/tests/integration/targets/android_sdk/tasks/freebsd-tests.yml +++ b/tests/integration/targets/android_sdk/tasks/freebsd-tests.yml @@ -41,26 +41,19 @@ state: absent register: sources_android_26_deleted2 -- name: Create new sdk root (FreeBSD) - file: - path: "{{ ansible_env.HOME }}/newroot" - state: directory - register: newroot - notify: delete_newroot - - name: Accept licenses in the new root (FreeBSD) - shell: "yes | sdkmanager --sdk_root={{ newroot.path }} --licenses" + shell: "yes | sdkmanager --sdk_root={{ remote_tmp_dir }} --licenses" - name: Install a package to a new root (FreeBSD) android_sdk: name: sources;android-26 state: present - sdk_root: "{{ newroot.path }}" + sdk_root: "{{ remote_tmp_dir }}" register: new_root_package - name: Check package is installed (FreeBSD) stat: - path: "{{ newroot.path }}/sources/android-26" + path: "{{ remote_tmp_dir }}/sources/android-26" register: new_root_package_stat - name: Install a package from canary channel (FreeBSD)