main.yml 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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: Clone meshviewer
  12. register: meshviewer_cloned
  13. git: repo={{meshviewer_repo}} dest={{meshviewer_build_directory}} version={{meshviewer_version}}
  14. - name: Install npm build dependencies
  15. command: npm install
  16. when: meshviewer_cloned|changed
  17. register: meshviewer_npm_installed
  18. args:
  19. chdir: "{{meshviewer_build_directory}}/"
  20. creates: "{{meshviewer_build_directory}}/node_modules"
  21. - name: Install bower and grunt
  22. when: meshviewer_npm_installed|changed
  23. command: npm install bower grunt-cli
  24. args:
  25. chdir: "{{meshviewer_build_directory}}"
  26. - name: Install frontend dependencies
  27. command: node_modules/.bin/bower --allow-root --config.interactive=false install
  28. args:
  29. chdir: "{{meshviewer_build_directory}}/"
  30. creates: "{{meshviewer_build_directory}}/bower_components"
  31. - name: Install build config
  32. template: src=config.js.j2 dest="{{meshviewer_build_directory}}/config.js"
  33. - name: Build meshviewer
  34. command: node_modules/.bin/grunt
  35. args:
  36. chdir: "{{meshviewer_build_directory}}/"
  37. creates: "{{meshviewer_build_directory}}/build"
  38. - name: Copy meshviewer into install directory
  39. shell: cp -r {{meshviewer_build_directory}}/build/* {{meshviewer_install_directory}}