aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/bash/function/common.sh
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2018-09-14 17:09:35 +0200
committerVratko Polak <vrpolak@cisco.com>2019-02-27 09:02:55 +0000
commit694b418272e9d7670ac69d477ed731bb7445b65a (patch)
tree2ec006cb61562bddabbf4cd68ba8ef5963694768 /resources/libraries/bash/function/common.sh
parent228c27de3986731fc6be39445dd0b23b4003d78c (diff)
Add tox.ini and few checker scripts
The plan is to change csit-validate-pylint-master job to fail if (and only if) tox fails. This will allow us to easily add checks, with or without the voting power. Each check produces log (ignored in .gitignore) the voting job can archive. + Made autogen quiet by default, to avoid spam in autogen checker. + Unified the way direct csit subdirectories are git-ignored. Change-Id: I6477b1ef7da6d3e30f68c5850d04900cc52f431e Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources/libraries/bash/function/common.sh')
-rw-r--r--resources/libraries/bash/function/common.sh37
1 files changed, 20 insertions, 17 deletions
diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh
index 7f640678ae..71cf9d3fa6 100644
--- a/resources/libraries/bash/function/common.sh
+++ b/resources/libraries/bash/function/common.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -90,40 +90,43 @@ function activate_virtualenv () {
set -exuo pipefail
+ # Update virtualenv pip package, delete and create virtualenv directory,
+ # activate the virtualenv, install requirements, set PYTHONPATH.
+
# Arguments:
- # - ${1} - Non-empty path to existing directory for creating virtualenv in.
+ # - ${1} - Path to existing directory for creating virtualenv in.
+ # If missing or empty, ${CSIT_DIR} is used.
+ # - ${2} - Path to requirements file, ${CSIT_DIR}/requirements.txt if empty.
# Variables read:
# - CSIT_DIR - Path to existing root of local CSIT git repository.
- # Variables set:
- # - ENV_DIR - Path to the created virtualenv subdirectory.
# Variables exported:
# - PYTHONPATH - CSIT_DIR, as CSIT Python scripts usually need this.
# Functions called:
# - die - Print to stderr and exit.
- # TODO: Do we really need to have ENV_DIR available as a global variable?
-
- if [[ "${1-}" == "" ]]; then
- die "Root location of virtualenv to create is not specified."
- fi
- ENV_DIR="${1}/env"
- rm -rf "${ENV_DIR}" || die "Failed to clean previous virtualenv."
+ # TODO: Do we want the callers to be able to set the env dir name?
+ # TODO: + In that case, do we want to support env switching?
+ # TODO: + In that case we want to make env_dir global.
+ # TODO: Do we want the callers to override PYTHONPATH loaction?
+ root_path="${1-$CSIT_DIR}"
+ env_dir="${root_path}/env"
+ req_path=${2-$CSIT_DIR/requirements.txt}
+ rm -rf "${env_dir}" || die "Failed to clean previous virtualenv."
pip install --upgrade virtualenv || {
die "Virtualenv package install failed."
}
- virtualenv "${ENV_DIR}" || {
+ virtualenv "${env_dir}" || {
die "Virtualenv creation failed."
}
set +u
- source "${ENV_DIR}/bin/activate" || die "Virtualenv activation failed."
+ source "${env_dir}/bin/activate" || die "Virtualenv activation failed."
set -u
- pip install -r "${CSIT_DIR}/requirements.txt" || {
- die "CSIT requirements installation failed."
+ pip install --upgrade -r "${req_path}" || {
+ die "Requirements installation failed."
}
-
# Most CSIT Python scripts assume PYTHONPATH is set and exported.
- export PYTHONPATH="${CSIT_DIR}" || die "Export failed."
+ export PYTHONPATH="${root_path}" || die "Export failed."
}