applies code review suggestions
parent
baa5f65328
commit
d367bd2b19
|
@ -10,8 +10,7 @@ __metaclass__ = type
|
||||||
|
|
||||||
import re
|
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, cmd_runner_fmt
|
||||||
from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner
|
|
||||||
|
|
||||||
__state_map = {
|
__state_map = {
|
||||||
"present": "--install",
|
"present": "--install",
|
||||||
|
@ -113,7 +112,7 @@ class AndroidSdkManager(object):
|
||||||
with self.runner('state name sdk_root channel', data=data) as ctx:
|
with self.runner('state name sdk_root channel', data=data) as ctx:
|
||||||
rc, stdout, stderr = ctx.run(name=command_arg, data=data)
|
rc, stdout, stderr = ctx.run(name=command_arg, data=data)
|
||||||
|
|
||||||
data = stdout.split('\n')
|
data = stdout.splitlines()
|
||||||
|
|
||||||
for line in data:
|
for line in data:
|
||||||
if self._RE_ACCEPT_LICENSE.match(line):
|
if self._RE_ACCEPT_LICENSE.match(line):
|
||||||
|
@ -124,7 +123,7 @@ class AndroidSdkManager(object):
|
||||||
return rc, stdout, stderr
|
return rc, stdout, stderr
|
||||||
|
|
||||||
def _try_parse_stderr(self, stderr):
|
def _try_parse_stderr(self, stderr):
|
||||||
data = stderr.split('\n')
|
data = stderr.splitlines()
|
||||||
for line in data:
|
for line in data:
|
||||||
unknown_package_regex = self._RE_UNKNOWN_PACKAGE.match(line)
|
unknown_package_regex = self._RE_UNKNOWN_PACKAGE.match(line)
|
||||||
if unknown_package_regex:
|
if unknown_package_regex:
|
||||||
|
@ -133,7 +132,7 @@ class AndroidSdkManager(object):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_packages(stdout, header_regexp, row_regexp):
|
def _parse_packages(stdout, header_regexp, row_regexp):
|
||||||
data = stdout.split('\n')
|
data = stdout.splitlines()
|
||||||
|
|
||||||
updatable_section_found = False
|
updatable_section_found = False
|
||||||
i = 0
|
i = 0
|
||||||
|
|
|
@ -145,15 +145,10 @@ class AndroidSdk(StateModuleHelper):
|
||||||
self.vars.set('removed', [], change=True)
|
self.vars.set('removed', [], change=True)
|
||||||
|
|
||||||
def _parse_packages(self):
|
def _parse_packages(self):
|
||||||
arg_pkgs = self.vars.package
|
arg_pkgs = set(self.vars.package)
|
||||||
packages = set()
|
if len(arg_pkgs) < len(self.vars.package):
|
||||||
for arg_pkg in arg_pkgs:
|
|
||||||
package = Package(arg_pkg)
|
|
||||||
packages.add(package)
|
|
||||||
|
|
||||||
if len(packages) < len(arg_pkgs):
|
|
||||||
self.do_raise("Packages may not repeat")
|
self.do_raise("Packages may not repeat")
|
||||||
return packages
|
return set([Package(p) for p in arg_pkgs])
|
||||||
|
|
||||||
def state_present(self):
|
def state_present(self):
|
||||||
packages = self._parse_packages()
|
packages = self._parse_packages()
|
||||||
|
|
|
@ -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
|
|
|
@ -5,3 +5,4 @@
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- setup_pkg_mgr
|
- setup_pkg_mgr
|
||||||
|
- setup_remote_tmp_dir
|
|
@ -59,26 +59,19 @@
|
||||||
state: latest
|
state: latest
|
||||||
register: platform_tools_updated
|
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
|
- 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
|
- name: Install a package to a new root
|
||||||
android_sdk:
|
android_sdk:
|
||||||
name: build-tools;34.0.0
|
name: build-tools;34.0.0
|
||||||
state: present
|
state: present
|
||||||
sdk_root: "{{ newroot.path }}"
|
sdk_root: "{{ remote_tmp_dir }}"
|
||||||
register: new_root_package
|
register: new_root_package
|
||||||
|
|
||||||
- name: Check package is installed
|
- name: Check package is installed
|
||||||
stat:
|
stat:
|
||||||
path: "{{ newroot.path }}/build-tools/34.0.0"
|
path: "{{ remote_tmp_dir }}/build-tools/34.0.0"
|
||||||
register: new_root_package_stat
|
register: new_root_package_stat
|
||||||
|
|
||||||
- name: Install a package from canary channel
|
- name: Install a package from canary channel
|
||||||
|
|
|
@ -41,26 +41,19 @@
|
||||||
state: absent
|
state: absent
|
||||||
register: sources_android_26_deleted2
|
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)
|
- 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)
|
- name: Install a package to a new root (FreeBSD)
|
||||||
android_sdk:
|
android_sdk:
|
||||||
name: sources;android-26
|
name: sources;android-26
|
||||||
state: present
|
state: present
|
||||||
sdk_root: "{{ newroot.path }}"
|
sdk_root: "{{ remote_tmp_dir }}"
|
||||||
register: new_root_package
|
register: new_root_package
|
||||||
|
|
||||||
- name: Check package is installed (FreeBSD)
|
- name: Check package is installed (FreeBSD)
|
||||||
stat:
|
stat:
|
||||||
path: "{{ newroot.path }}/sources/android-26"
|
path: "{{ remote_tmp_dir }}/sources/android-26"
|
||||||
register: new_root_package_stat
|
register: new_root_package_stat
|
||||||
|
|
||||||
- name: Install a package from canary channel (FreeBSD)
|
- name: Install a package from canary channel (FreeBSD)
|
||||||
|
|
Loading…
Reference in New Issue