diff --git a/utils/build-galaxy-release.sh b/utils/build-galaxy-release.sh index 3ace6376df2736565dcaf5bb3433ab5c4a066e27..0482ffd1ab35224d275a916fadf97b88d655674a 100644 --- a/utils/build-galaxy-release.sh +++ b/utils/build-galaxy-release.sh @@ -1,36 +1,40 @@ #!/bin/bash +namespace="freeipa" +collection="ansible_freeipa" +collection_prefix="${namespace}.${collection}" + galaxy_version=$(git describe --tags | sed -e "s/^v//") echo $galaxy_version | grep "-" -q || galaxy_version="${galaxy_version}" sed -i -e "s/version: .*/version: \"$galaxy_version\"/" galaxy.yml find . -name "*~" -exec rm {} \; -sed -i -e "s/ansible.module_utils.ansible_freeipa_module/ansible_collections.freeipa.ansible_freeipa.plugins.module_utils.ansible_freeipa_module/" plugins/modules/*.py +sed -i -e "s/ansible.module_utils.ansible_freeipa_module/ansible_collections.${collection_prefix}.plugins.module_utils.ansible_freeipa_module/" plugins/modules/*.py cd plugins/module_utils && { - ln -s ../../roles/ipa*/module_utils/*.py . + ln -s ../../roles/*/module_utils/*.py . cd ../.. } cd plugins/modules && { - sed -i -e "s/ansible.module_utils.ansible_ipa_/ansible_collections.freeipa.ansible_freeipa.plugins.module_utils.ansible_ipa_/" ../../roles/ipa*/library/*.py - ln -s ../../roles/ipa*/library/*.py . + sed -i -e "s/ansible.module_utils.ansible_ipa_/ansible_collections.${collection_prefix}.plugins.module_utils.ansible_ipa_/" ../../roles/*/library/*.py + ln -s ../../roles/*/library/*.py . cd ../.. } [ ! -x plugins/action_plugins ] && mkdir plugins/action_plugins cd plugins/action_plugins && { - ln -s ../../roles/ipa*/action_plugins/*.py . + ln -s ../../roles/*/action_plugins/*.py . cd ../.. } -for x in roles/ipa*/tasks/*.yml; do - python utils/galaxyify-playbook.py "$x" +for x in roles/*/tasks/*.yml; do + python utils/galaxyify-playbook.py "$x" "ipa" "$collection_prefix" done for x in $(find playbooks -name "*.yml" -print); do - python utils/galaxyify-playbook.py "$x" + python utils/galaxyify-playbook.py "$x" "ipa" "$collection_prefix" done #git diff @@ -43,4 +47,3 @@ rm plugins/modules/ipareplica_* rm plugins/modules/ipaclient_* rm plugins/action_plugins/ipaclient_* git reset --hard - diff --git a/utils/galaxyify-playbook.py b/utils/galaxyify-playbook.py index c2ad620904954a6baf1f32e3defbabd4f78733ad..3810ba3c7a748396b79b9fc108759e32bd02dbeb 100644 --- a/utils/galaxyify-playbook.py +++ b/utils/galaxyify-playbook.py @@ -2,11 +2,14 @@ import sys import re -def galaxify_playbook(playbook_in): - p1 = re.compile('(ipa.*:)$') - p2 = re.compile('(.*:) (ipa.*)$') +def galaxify_playbook(playbook_in, project_prefix, collection_prefix): + p1 = re.compile('(%s.*:)$' % project_prefix) + p2 = re.compile('(.*:) (%s.*)$' % project_prefix) lines = [] + pattern1 = r'%s.\1' % collection_prefix + pattern2 = r'\1 %s.\2' % collection_prefix + with open(playbook_in) as in_f: changed = False changeable = False @@ -22,14 +25,13 @@ def galaxify_playbook(playbook_in): elif stripped.startswith("include_role:"): include_role = True elif include_role and stripped.startswith("name:"): - line = p2.sub(r'\1 freeipa.ansible_freeipa.\2', line) + line = p2.sub(pattern2, line) changed = True elif changeable and stripped.startswith("- role:"): - line = p2.sub(r'\1 freeipa.ansible_freeipa.\2', line) + line = p2.sub(pattern2, line) changed = True - elif changeable and not stripped.startswith( - "freeipa.ansible_freeipa."): - line = p1.sub(r'freeipa.ansible_freeipa.\1', line) + elif changeable and not stripped.startswith(collection_prefix): + line = p1.sub(pattern1, line) changed = True lines.append(line) @@ -40,4 +42,4 @@ def galaxify_playbook(playbook_in): out_f.write(line) -galaxify_playbook(sys.argv[1]) +galaxify_playbook(sys.argv[1], sys.argv[2], sys.argv[3])