diff --git a/tasks/workstation/linux/software/android.yml b/tasks/workstation/linux/software/android.yml index 2cb0d90..22d83e0 100644 --- a/tasks/workstation/linux/software/android.yml +++ b/tasks/workstation/linux/software/android.yml @@ -12,23 +12,34 @@ # Command-line tools is all Flutter actually needs: # https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -- name: Workstation | Linux | Software | Android | Facts [1/3] +- name: Workstation | Linux | Software | Android | Facts [01] set_fact: android_url: "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" android_download_file: "{{ user_user.home }}/Downloads/android-cmdline-tools.tar.xz" android_sdk_location: "{{ user_user.home }}/SDKs/Android/Sdk" android_report_file: "{{ user_user.home }}/Reports/{{ ansible_hostname }}.sdk.android.txt" -- name: Workstation | Linux | Software | Android | Facts [2/3] +- name: Workstation | Linux | Software | Android | Facts [02] set_fact: android_bin_location: "{{ android_sdk_location }}/platform-tools" android_sdk_cmdline_temp: "{{ android_sdk_location }}/ansible" android_sdk_cmdline_final: "{{ android_sdk_location }}/cmdline-tools/latest/bin" -- name: Workstation | Linux | Software | Android | Facts [3/3] +- name: Workstation | Linux | Software | Android | Facts [03] set_fact: - android_sdkmanager_temp: "{{ android_sdk_cmdline_temp }}/cmdline-tools/bin/android sdk" - android_sdkmanager_final: "{{ android_sdk_cmdline_final }}/android sdk" + android_sdkmanager_temp: "{{ android_sdk_cmdline_temp }}/cmdline-tools/bin/sdkmanager" + android_sdkmanager_final: "{{ android_sdk_cmdline_final }}/sdkmanager" + android_sdkmanager_final2: "{{ android_sdk_cmdline_final }}/android" + +- name: Workstation | Linux | Software | Android | Facts [04] + set_fact: + android_sdkmanager2: "{{ android_sdkmanager_final2 }} sdk --sdk={{ android_sdk_location }}" + +- name: Workstation | Linux | Software | Android | Facts [05] + set_fact: + android_sdkmanager2_list: "{{ android_sdkmanager }} list" + android_sdkmanager2_install: "{{ android_sdkmanager }} install" + android_sdkmanager2_remove: "{{ android_sdkmanager }} remove" # Regarding images to download; the `default` is the smallest, then `playstore`. # The `google_apis` images are significantly larger than the `playstore` option. @@ -151,7 +162,7 @@ get_attributes: false get_checksum: false get_mime: false - register: android_sdkmanager_final_stat + register: android_sdkmanager_check when: coding == true - name: Workstation | Linux | Software | Android | Check Download Exists @@ -229,7 +240,7 @@ # This can only be run once, otherwise cmdline-tools creates latest-* folders. - name: Workstation | Linux | Software | Android | Install | Consistent Modules - shell: "yes | {{ android_sdkmanager_temp }} install '{{ item }}' --sdk={{ android_sdk_location }}" + shell: "yes | {{ android_sdkmanager_temp }} --install '{{ item }}' --sdk_root={{ android_sdk_location }}" loop: # Current - cmdline-tools/latest @@ -237,13 +248,13 @@ - emulator become_user: "{{ user }}" when: coding == true - and not android_sdkmanager_final_stat.stat.exists + and not android_sdkmanager_check.stat.exists # These are safe to run multiple times, and uses the new `latest` version. - name: Workstation | Linux | Software | Android | Install | Required Modules shell: | - if ! {{ android_sdkmanager_final }} --list_installed | grep -q '{{ item }}'; then - yes | {{ android_sdkmanager_final }} install '{{ item }}' --sdk={{ android_sdk_location }} + if ! {{ android_sdkmanager2_list }} | grep -q '{{ item }}'; then + yes | {{ android_sdkmanager2_install }} '{{ item }}' fi loop: "{{ android_downloads_required }}" become_user: "{{ user }}" @@ -252,8 +263,8 @@ # Add more versions for testing across all the important platforms. - name: Workstation | Linux | Software | Android | Install | Additional Modules shell: | - if ! {{ android_sdkmanager_final }} --list_installed | grep -q '{{ item }}'; then - yes | {{ android_sdkmanager_final }} install '{{ item }}' --sdk={{ android_sdk_location }} + if ! {{ android_sdkmanager2_list }} | grep -q '{{ item }}'; then + yes | {{ android_sdkmanager2_install }} '{{ item }}' fi loop: "{{ android_downloads_additional }}" become_user: "{{ user }}" @@ -262,7 +273,7 @@ # Remove extra downloads if system is not meant for full amount of testing. - name: Workstation | Linux | Software | Android | Uninstall | Additional Modules - shell: "yes | {{ android_sdkmanager_final }} remove '{{ item }}' --sdk={{ android_sdk_location }}" + shell: "yes | {{ android_sdkmanager2_remove }} '{{ item }}'" loop: "{{ android_downloads_additional }}" become_user: "{{ user }}" when: coding != true @@ -271,14 +282,14 @@ # Remove any versions which used to be part of this script and no longer used. - name: Workstation | Linux | Software | Android | Uninstall | Unused Modules - shell: "yes | {{ android_sdkmanager_final }} remove '{{ item }}' --sdk={{ android_sdk_location }}" + shell: "yes | {{ android_sdkmanager2_remove }} '{{ item }}'" loop: "{{ android_downloads_unused }}" become_user: "{{ user }}" when: coding == true # Report the currently installed packges. - name: Workstation | Linux | Software | Android | Report Modules - shell: "{{ android_sdkmanager_final }} list --sdk={{ android_sdk_location }} > {{ android_report_file }}" + shell: "{{ android_sdkmanager2_list }} > {{ android_report_file }}" become_user: "{{ user }}" when: coding == true