Skip to content
Snippets Groups Projects
find-dependency.sh 864 B
Newer Older
  • Learn to ignore specific revisions
  • Easy Build's avatar
    Easy Build committed
    #!/bin/bash
    # IT4Innovations 2019
    
    if [[ -z "$1" ]];then
        echo "Usage: find_dependency module_name"
        exit 1
    fi
    
    for P in "$(echo "$MODULEPATH" | tr ":" " ")"; do
        L=$(grep -E "(load|add)[[:punct:] ]*$1[^-[:alnum:]]*$" -R "$P" | sort)
    
    Easy Build's avatar
    Easy Build committed
        if [[ ! -z "$L" ]]; then
    	LIST+=$L
            LIST+=$(echo -en "\n\b")
        fi
    done
    if [[ -z "$LIST" ]];then
        echo "No module is dependent on $1"
        exit 1
    fi
    #for loop through lines only
    SAVEIFS=$IFS
    IFS=$(echo -en "\n\b")
    
    for MODULE_PATH in "$LIST"; do
        MODULE_FIND=$(echo "$MODULE_PATH" | cut -d ':' -f 2 | grep -o -e "$1.*" | grep -o -e "[[:alnum:]/\._-]*")
        MODULE_PATH=$(echo "$MODULE_PATH" | cut -d ':' -f 1)
        MODULE_NAME=$(echo "$MODULE_PATH" | rev | cut -d '/' -f 1,2 | rev | sed 's/.lua//')
    
    Easy Build's avatar
    Easy Build committed
        echo -e "\e[96m$MODULE_FIND \e[37m-> \e[93m$MODULE_NAME \e[37m($MODULE_PATH)"
    done
    IFS=$SAVEIFS
    
    exit 0