summaryrefslogtreecommitdiffstats
path: root/requirements
diff options
context:
space:
mode:
Diffstat (limited to 'requirements')
-rwxr-xr-xrequirements/django-ansible-base-pinned-version.sh77
1 files changed, 77 insertions, 0 deletions
diff --git a/requirements/django-ansible-base-pinned-version.sh b/requirements/django-ansible-base-pinned-version.sh
new file mode 100755
index 0000000000..84905fff4e
--- /dev/null
+++ b/requirements/django-ansible-base-pinned-version.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+set +x
+
+# CONSTANTS
+export REGEX_LEFT='https://github.com/ansible/django-ansible-base@'
+export REGEX_RIGHT='#egg=django-ansible-base'
+
+# GLOBALS
+SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
+REQ_FILE=$SCRIPT_DIR/requirements_git.txt
+
+# Pin Function
+DESIRED_VERSION=''
+Pin()
+{
+ export DESIRED_VERSION
+ perl -p -i -e 's/\Q$ENV{REGEX_LEFT}\E(.*?)\Q$ENV{REGEX_RIGHT}\E/$ENV{REGEX_LEFT}$ENV{DESIRED_VERSION}$ENV{REGEX_RIGHT}/g' $REQ_FILE
+}
+
+# Current Function
+Current()
+{
+ REQUIREMENTS_LINE=$(grep django-ansible-base $REQ_FILE)
+
+ echo "$REQUIREMENTS_LINE" | perl -nE 'say $1 if /\Q$ENV{REGEX_LEFT}\E(.*?)\Q$ENV{REGEX_RIGHT}\E/'
+}
+
+
+Help()
+{
+ # Display Help
+ echo ""
+ echo "Help:"
+ echo ""
+ echo "Interact with django-ansible-base in $REQ_FILE."
+ echo "By default, output the current django-ansible-base pinned version."
+ echo
+ echo "Syntax: scriptTemplate [-s|h|v]"
+ echo "options:"
+ echo "s Set django-ansible-base version to pin to."
+ echo "h Print this Help."
+ echo "v Verbose mode."
+ echo
+}
+
+if [ $# -eq 0 ]; then
+ Current
+ exit
+fi
+
+
+while getopts ":hs:" option; do
+ case $option in
+ h) # display Help
+ Help
+ exit
+ ;;
+ s)
+ DESIRED_VERSION=$OPTARG;;
+ :)
+ echo "Option -${OPTARG} requires an argument."
+ Help
+ exit 1
+ ;;
+ \?) # Invalid option
+ echo "Error: Invalid option"
+ echo ""
+ Help
+ exit;;
+ esac
+done
+
+if [ -n "$DESIRED_VERSION" ]; then
+ Pin
+ Current
+fi
+