mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-06-02 15:49:51 -04:00
75 lines
2 KiB
YAML
Executable file
75 lines
2 KiB
YAML
Executable file
|
|
---
|
|
- name: Make sure ./data/lib/bin folder exists
|
|
file:
|
|
path: '{{LIB_DIR_BIN}}'
|
|
state: directory
|
|
recurse: true
|
|
|
|
###################################################################################
|
|
|
|
- set_fact:
|
|
PATH: "{{PATH or DEFAULT_PATH}}"
|
|
bin_name: "{{bin_name or name}}"
|
|
BINARY_ABSPATH: null
|
|
BINARY_VERSION: null
|
|
|
|
- name: 'Get installed binary abspath: {{name}}'
|
|
command: 'env PATH="{{PATH}}:$PATH" which {{bin_name}}'
|
|
register: BINARY_ABSPATH
|
|
changed_when: False
|
|
|
|
- set_fact:
|
|
bin_name: "{{BINARY_ABSPATH.stdout|basename or bin_name}}"
|
|
- set_fact:
|
|
version_cmd: "{{version_cmd or (bin_name + ' --version')}}"
|
|
|
|
- name: 'Get installed binary version: {{name}}'
|
|
command: 'env PATH="{{PATH}}:$PATH" {{version_cmd}}'
|
|
register: BINARY_VERSION
|
|
changed_when: False
|
|
|
|
|
|
- name: 'Updating BINARIES with loaded abspaths & versions: {{name}}'
|
|
set_fact:
|
|
BINARIES: "{{
|
|
BINARIES
|
|
| default({})
|
|
| combine({
|
|
name: {
|
|
'name': name,
|
|
'bin_name': bin_name,
|
|
'version_cmd': version_cmd,
|
|
'symlink': LIB_DIR_BIN + '/' + name,
|
|
'abspath': BINARY_ABSPATH.stdout or abspath or None,
|
|
'version': BINARY_VERSION.stdout_lines|first|regex_replace('^.*?([\\d+\\.]+).*$', '\\1') or version or None,
|
|
'version_stdout': BINARY_VERSION.stdout or BINARY_VERSION.stderr,
|
|
'PATH': BINARY_ABSPATH.stdout|dirname or PATH,
|
|
},
|
|
})
|
|
}}"
|
|
cacheable: true
|
|
changed_when: True
|
|
|
|
- name: 'Symlink installed binary into lib bin folder: {{name}}'
|
|
file:
|
|
src: "{{ BINARY_ABSPATH.stdout }}"
|
|
dest: "{{ LIB_DIR_BIN }}/{{ name }}"
|
|
state: link
|
|
force: true
|
|
when: BINARY_VERSION.stdout_lines|first|regex_replace('^.*?([\\d+\\.]+).*$', '\\1')|length
|
|
|
|
- debug:
|
|
msg:
|
|
- '{{BINARIES}}'
|
|
|
|
- name: Unset variables
|
|
set_fact:
|
|
name:
|
|
bin_name:
|
|
version_cmd:
|
|
abspath:
|
|
version:
|
|
PATH:
|
|
BINARY_ABSPATH:
|
|
BINARY_VERSION:
|