# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
-ROBOT_VENV=`mktemp -d --suffix=robot_venv`
-echo ROBOT_VENV=${ROBOT_VENV} >> ${WORKSPACE}/env.properties
+ROBOT_VENV=$(mktemp -d --suffix=robot_venv)
+echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
# The --system-site-packages parameter allows us to pick up system level
# installed packages. This allows us to bake matplotlib which takes very long
# to install into the image.
-virtualenv --system-site-packages ${ROBOT_VENV}
-source ${ROBOT_VENV}/bin/activate
+virtualenv --system-site-packages "${ROBOT_VENV}"
+# shellcheck disable=SC1090
+source "${ROBOT_VENV}/bin/activate"
set -exu
# Make sure pip itself us up-to-date.
pip install --upgrade pip
-pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipaddr
-pip install --upgrade robotframework{,-{httplibrary,requests,sshlibrary,selenium2library}}
+pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipaddr pyhocon
+pip install --upgrade robotframework-httplibrary \
+ robotframework-requests \
+ robotframework-sshlibrary \
+ robotframework-selenium2library \
+ robotframework-pycurllibrary
# Module jsonpath is needed by current AAA idmlite suite.
pip install --upgrade jsonpath-rw
# Modules for longevity framework robot library
-pip install elasticsearch==1.7.0 elasticsearch-dsl==0.0.11
+pip install --upgrade elasticsearch elasticsearch-dsl
# Module for pyangbind used by lispflowmapping project
pip install pyangbind
+# Module for iso8601 datetime format
+pip install isodate
+
+# Modules for tornado and jsonpointer used by client libraries of IoTDM project
+# Note: Could be removed when client running on tools VM is used instead
+# of client libraries only.
+pip install --upgrade tornado jsonpointer
+
+# Module for TemplatedRequests.robot library
+pip install --upgrade jmespath
+
# Print installed versions.
pip freeze