#!/usr/bin/env bash PWD=$(pwd) ANSIBLE_NAMESPACE="skylab" ANSIBLE_COLLECTION_DIR="$PWD/.ansible/ansible_collections" mkdir --parents "$ANSIBLE_COLLECTION_DIR/$ANSIBLE_NAMESPACE" for collection_path in "$PWD"/"$ANSIBLE_NAMESPACE"/*; do collection=$(basename "$collection_path") if [[ ! -L "$ANSIBLE_COLLECTION_DIR/$ANSIBLE_NAMESPACE/$collection" ]]; then echo "Linking $ANSIBLE_NAMESPACE.$collection into $ANSIBLE_COLLECTION_DIR" rm --recursive --force "${ANSIBLE_COLLECTION_DIR:?}/$ANSIBLE_NAMESPACE/$collection" ln --symbolic "$PWD/$ANSIBLE_NAMESPACE/$collection" "$ANSIBLE_COLLECTION_DIR/$ANSIBLE_NAMESPACE/$collection" fi done echo "Finished linking local collections" LOCAL_COLLECTION_PATH=$(dirname "$ANSIBLE_COLLECTION_DIR") if [ -z ${ANSIBLE_COLLECTIONS_PATH+x} ]; then echo "WARNING: Environment variable ANSIBLE_COLLECTIONS_PATH is not set, collections will not be callable" echo " HINT: export ANSIBLE_COLLECTIONS_PATH=$LOCAL_COLLECTION_PATH" elif [[ ${ANSIBLE_COLLECTIONS_PATH} != *"$LOCAL_COLLECTION_PATH"* ]]; then echo "WARNING: Environment variable ANSIBLE_COLLECTIONS_PATH does not include local collection directory" echo " HINT: export ANSIBLE_COLLECTIONS_PATH=\$ANSIBLE_COLLECTIONS_PATH:$LOCAL_COLLECTION_PATH" fi