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-28 13:46:34 +0100
commit8fedbb66528646f2d9afaf1b640c99dbf75b969b (patch)
treeac1db897ed41b609c1566582856ef55593e1e68d /resources/libraries/bash/function/common.sh
parent583ba8182192de288f5b9a291ac5aaa13a4dc8ab (diff)
Add tox.ini and few checker scripts
(cherry-pick from master, also pasted current bash code style) 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 5982af9427..34aa44f338 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."
}