Update to 2022-01-30 11:00

This commit is contained in:
Daniel Berteaud 2022-01-30 11:00:05 +01:00
parent 013c387bca
commit 1c2a883ec4
7 changed files with 127 additions and 0 deletions

View 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

View 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

View 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

View 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

View File

@ -0,0 +1,5 @@
---
- include: facts.yml
- include: install.yml
- include: cleanup.yml

View File

@ -0,0 +1,4 @@
---
clojure_packages:
- java-11-openjdk-headless

View File

@ -0,0 +1,4 @@
---
clojure_packages:
- java-17-openjdk-headless