mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-12 00:03:17 +02:00
Update to 2022-01-30 11:00
This commit is contained in:
parent
013c387bca
commit
1c2a883ec4
9
roles/clojure/defaults/main.yml
Normal file
9
roles/clojure/defaults/main.yml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
# Version to deploy
|
||||
clojure_version: 1.10.3.1069
|
||||
# URL of the archive
|
||||
clojure_archive_url: https://download.clojure.org/install/clojure-tools-{{ clojure_version }}.tar.gz
|
||||
# Expected sha256 of the archive
|
||||
clojure_archive_sha256: 83c26131943d655cb4fee0737e4b799386c9b800a28629258bc46ad6104bf6dd
|
||||
|
8
roles/clojure/tasks/cleanup.yml
Normal file
8
roles/clojure/tasks/cleanup.yml
Normal file
@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Remove tmp files
|
||||
file: path={{ item }} state=absent
|
||||
loop:
|
||||
- /tmp/clojure-tools-{{ clojure_version }}.tar.gz
|
||||
- /tmp/clojure-tools
|
||||
tags: clojure
|
37
roles/clojure/tasks/facts.yml
Normal file
37
roles/clojure/tasks/facts.yml
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
|
||||
# Load distribution specific variables
|
||||
- include_vars: "{{ item }}"
|
||||
with_first_found:
|
||||
- "{{ role_path }}/vars/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
||||
- "{{ role_path }}/vars/{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"
|
||||
- "{{ role_path }}/vars/{{ ansible_distribution }}.yml"
|
||||
- "{{ role_path }}/vars/{{ ansible_os_family }}.yml"
|
||||
tags: clojure
|
||||
|
||||
- name: Set default install mode
|
||||
set_fact: clojure_install_mode='none'
|
||||
tags: clojure
|
||||
|
||||
- name: Check if clojure is installed
|
||||
stat: path=/usr/local/bin/clojure
|
||||
register: clojure_bin
|
||||
changed_when: False
|
||||
tags: clojure
|
||||
|
||||
- name: Set install mode to install
|
||||
set_fact: clojure_install_mode='install'
|
||||
when: not clojure_bin.stat.exists
|
||||
tags: clojure
|
||||
|
||||
- name: Detect installed version
|
||||
block:
|
||||
- shell: clojure --version | perl -ne 'm/version\s(\d+(\.\d+)*)/ && print "$1"'
|
||||
register: clojure_current_version
|
||||
- set_fact: clojure_current_version={{ clojure_current_version.stdout }}
|
||||
tags: clojure
|
||||
|
||||
- name: Set install mode to upgrade
|
||||
set_fact: clojure_install_mode='upgrade'
|
||||
when: clojure_current_version != clojure_version
|
||||
tags: clojure
|
60
roles/clojure/tasks/install.yml
Normal file
60
roles/clojure/tasks/install.yml
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
|
||||
- name: Install system dependencies
|
||||
package: name={{ clojure_packages }}
|
||||
tags: clojure
|
||||
|
||||
- when: clojure_install_mode != 'none'
|
||||
block:
|
||||
|
||||
- name: Download clojure
|
||||
get_url:
|
||||
url: "{{ clojure_archive_url }}"
|
||||
dest: /tmp/
|
||||
checksum: sha256:{{ clojure_archive_sha256 }}
|
||||
|
||||
- name: Extract clojure archive
|
||||
unarchive:
|
||||
src: /tmp/clojure-tools-{{ clojure_version }}.tar.gz
|
||||
dest: /tmp/
|
||||
remote_src: True
|
||||
|
||||
- name: Create lib dir
|
||||
file: path=/usr/local/lib/clojure/libexec state=directory
|
||||
|
||||
- name: Install clojure
|
||||
copy: src=/tmp/clojure-tools/{{ item.src }} dest={{ item.dest }} mode={{ (item.dest is search('/bin/?')) | ternary(755, omit) }} remote_src=True
|
||||
loop:
|
||||
- src: deps.edn
|
||||
dest: /usr/local/lib/clojure/
|
||||
- src: example-deps.edn
|
||||
dest: /use/local/lib/clojure/
|
||||
- src: tools.edn
|
||||
dest: /usr/local/lib/clojure/
|
||||
- src: exec.jar
|
||||
dest: /usr/local/lib/clojure/libexec/
|
||||
- src: clojure-tools-{{ clojure_version }}.jar
|
||||
dest: /usr/local/lib/clojure/libexec/
|
||||
- src: clojure
|
||||
dest: /usr/local/bin/
|
||||
- src: clj
|
||||
dest: /usr/local/bin/
|
||||
- src: clojure.1
|
||||
dest: /usr/local/share/man/man1/
|
||||
- src: clj.1
|
||||
dest: /usr/local/share/man/man1/
|
||||
|
||||
- name: Set libdir
|
||||
replace:
|
||||
path: /usr/local/bin/clojure
|
||||
regexp: PREFIX
|
||||
replace: /usr/local/lib/clojure
|
||||
|
||||
- name: Set bindir
|
||||
replace:
|
||||
path: /usr/local/bin/clj
|
||||
regexp: BINDIR
|
||||
replace: /usr/local/bin
|
||||
|
||||
tags: clojure
|
||||
|
5
roles/clojure/tasks/main.yml
Normal file
5
roles/clojure/tasks/main.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
- include: facts.yml
|
||||
- include: install.yml
|
||||
- include: cleanup.yml
|
4
roles/clojure/vars/RedHat-7.yml
Normal file
4
roles/clojure/vars/RedHat-7.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
|
||||
clojure_packages:
|
||||
- java-11-openjdk-headless
|
4
roles/clojure/vars/RedHat-8.yml
Normal file
4
roles/clojure/vars/RedHat-8.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
|
||||
clojure_packages:
|
||||
- java-17-openjdk-headless
|
Loading…
x
Reference in New Issue
Block a user