--- - name: "Install arduino needed packages" apt: name: - picocom - python-pip state: latest - name: "install inotool with pip" pip: name: ino - name: Create Arduino download directory. become: yes file: state: directory path: "{{ arduino_download_directory }}" mode: "0755" owner: root group: root - name: Download Arduino IDE and checksum files. become: yes get_url: url: "{{ arduino_ide_url }}" dest: "{{ arduino_download_directory }}/{{ arduino_ide_url|basename }}" - name: Extract Arduino archive. become: yes unarchive: src: "{{ arduino_download_directory }}/{{ arduino_ide_url|basename }}" dest: "{{ arduino_download_directory }}/" remote_src: yes creates: "{{ arduino_download_directory }}/arduino-{{ arduino_version }}" - name: Install Arduino IDE. become: yes command: "{{ arduino_download_directory }}/arduino-{{ arduino_version }}/install.sh" # Cheating a bit and chaining the install.sh logic with directory extraction, # to maintain idempotence. args: creates: "{{ arduino_download_directory }}/arduino-{{ arduino_version }}" - name: Installs Arduino helper scripts. become: yes template: src: "{{ item }}" dest: "/usr/local/bin/{{ item.rstrip('.j2') }}" mode: "0755" owner: root group: root with_items: - arduino-push.j2 - arduino-verify.j2