main.yml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. ---
  2. # tasks file for meshviewer
  3. - include_vars: "{{ ansible_os_family}}.yml"
  4. - name: Install build dependencies
  5. apt: name={{item}} state=present
  6. with_items: "{{meshviewer_build_dependencies}}"
  7. - name: Create meshviewer install directory
  8. file: name={{meshviewer_install_directory}} state=directory
  9. - name: Create meshviewer build directory
  10. file: name={{meshviewer_build_directory}} state=directory
  11. - name: Download meshviewer
  12. get_url: url={{meshviewer_download_url}} dest=/tmp/
  13. - name: Extract meshviewer source archive
  14. unarchive: copy=false src=/tmp/{{meshviewer_archive_name}} dest={{meshviewer_build_directory}}
  15. - name: Install npm build dependencies
  16. command: npm install
  17. register: meshviewer_npm_installed
  18. args:
  19. chdir: "{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}"
  20. creates: "{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}/node_modules"
  21. - name: Install bower and grunt
  22. when: meshviewer_npm_installed|changed
  23. command: npm install bower grunt-cli
  24. - name: Install frontend dependencies
  25. command: node_modules/.bin/bower --allow-root --config.interactive=false install
  26. args:
  27. chdir: "{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}"
  28. creates: "{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}/bower_components"
  29. - name: Install build config
  30. template: src=config.js.j2 dest="{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}/config.js"
  31. - name: Build meshviewer
  32. command:
  33. args:
  34. chdir: "{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}"
  35. creates: "{{meshviewer_build_directory}}/meshviewer-{{meshviewer_version}}/build"