Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
pycklets / resources / ansible-role / freckfrackery.dotfiles / tasks / old / folder_processing.yml
Size: Mime:
---
# tasks file for dotfiles

- name: "[not installing anything if unstow is set]"
  set_fact:
      dotfiles_no_package_install: true
  when: dotfiles_unstow

- name: "[finding first-level subfolders]"
  set_fact:
      subfolders_list: "{{ freckle_folder_metadata['files'] | get_subfolders(freckle_path) }}"

- name: "calculating package lists"
  set_fact:
      package_list_legacy: "{{ freckle_vars | assemble_package_list('packages', 'auto') }}"
      package_list: "{{ freckle_vars | assemble_package_list('install', 'auto') }}"
      folders_package_list: "{{ subfolders_list | create_folder_packages(freckle_extra_vars) }}"
  when: 'not dotfiles_no_package_install'

# might as well do that here, maybe some of the packages below need it
- name: "enabling 'epel-release' repository (to be able to install 'stow')"
  install:
    packages:
      - epel-release:
          pkgs:
            # fedora: ignore
            centos: epel-release
            other: ignore
    pkg_mgr: "{{ pkg_mgr | default(omit) }}"
  when: 'not dotfiles_no_stow'

- name: "found packages under the 'packages' legacy key -- installing them, but please rename that key to 'install' as this will stop working at some stage"
  include_role:
    name: freckles-io.install-packages
  vars:
    package_install_list: "{{ package_list_legacy }}"
    profile_name: "legacy"
  when: "not dotfiles_no_package_install and package_list_legacy"

- name: "[install packages from .freckle file]"
  include_role:
    name: freckles-io.install-packages
  vars:
    package_install_list: "{{ package_list }}"
    extra_pkg_mgrs: "{{ dotfiles_extra_pkg_mgrs }}"
    profile_name: "base"
  when: "not dotfiles_no_package_install"

- name: "[install packages from folder names]"
  include_role:
    name: freckles-io.install-packages
  vars:
    package_install_list: "{{ folders_package_list }}"
    profile_name: "dotfile folders"
  when: "not dotfiles_no_package_install and not dotfiles_no_folder_install"

- name: "[calculating stow folders]"
  set_fact:
      stow_folders: "{{ subfolders_list | create_stow_folders_metadata(freckle_path, freckle_vars, freckle_extra_vars) }}"

- name: "[check required executables]"
  required_executable_facts:
    executables_to_check:
      - stow

- name: installing stow
  install:
    packages:
      - stow:
          conda_channels:
            - conda-forge
            - freckles
    pkg_mgr: "{{ pkg_mgr | default(omit) }}"
  when: '"stow" in executables_missing and (not dotfiles_no_stow or dotfiles_unstow)'

- name: stowing folders
  stow:
    name: "{{ item.stow_folder_name }}"
    source_dir: "{{ item.stow_folder_parent }}"
    target_dir: "{{ item.stow_target_dir | default(freckles_dotfiles_default_stow_target_dir) }}"
    delete_conflicts: "{{ item.stow_delete_conflicts | default(dotfiles_stow_delete_conflicts) }}"
  ignore_errors: "{{ ignore_errors | default(true) }}"
  when: 'item.no_stow|default(false)|bool == false and not dotfiles_no_stow and not dotfiles_unstow'
  become: "{{ item.stow_become | default(false) }}"
  with_items:
    - "{{ stow_folders }}"

- name: unstowing folders
  stow:
    name: "{{ item.stow_folder_name }}"
    unstow: true
    source_dir: "{{ item.stow_folder_parent }}"
    target_dir: "{{ item.stow_target_dir | default(dotfiles_stow_target) }}"
    delete_conflicts: false
  ignore_errors: "{{ ignore_errors | default(true) }}"
  when: 'item.no_stow|default(false)|bool == false and dotfiles_unstow'
  become: "{{ item.stow_become | default(false) }}"
  with_items:
    - "{{ stow_folders }}"