blob: 8cb37694a728c1b995b9f29292afc91789bb6f15 [file] [log] [blame]
Bin Sun7245fce2018-03-09 10:20:17 +08001#!/bin/bash
2# Copyright 2018 VMware Corporation.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
17set -e
18
19echo "running script: [$0] for module [$1] at stage [$2]"
20
21export SETTINGS_FILE=${SETTINGS_FILE:-$HOME/.m2/settings.xml}
22MVN_PROJECT_MODULEID="$1"
23MVN_PHASE="$2"
24
25
26FQDN="${MVN_PROJECT_GROUPID}.${MVN_PROJECT_ARTIFACTID}"
27if [ "$MVN_PROJECT_MODULEID" == "__" ]; then
28 MVN_PROJECT_MODULEID=""
29fi
30
31if [ -z "$WORKSPACE" ]; then
32 WORKSPACE=$(pwd)
33fi
34
35# mvn phase in life cycle
36MVN_PHASE="$2"
37
38
39echo "MVN_PROJECT_MODULEID is [$MVN_PROJECT_MODULEID]"
40echo "MVN_PHASE is [$MVN_PHASE]"
41echo "MVN_PROJECT_GROUPID is [$MVN_PROJECT_GROUPID]"
42echo "MVN_PROJECT_ARTIFACTID is [$MVN_PROJECT_ARTIFACTID]"
43echo "MVN_PROJECT_VERSION is [$MVN_PROJECT_VERSION]"
44
45run_tox_test()
46{
47 set -x
48 CURDIR=$(pwd)
49 TOXINIS=$(find . -name "tox.ini")
50 for TOXINI in "${TOXINIS[@]}"; do
51 DIR=$(echo "$TOXINI" | rev | cut -f2- -d'/' | rev)
52 cd "${CURDIR}/${DIR}"
53 rm -rf ./venv-tox ./.tox
Bin Yangaa744542019-08-21 04:15:42 +000054 virtualenv ./venv-tox --python=python3
Bin Sun7245fce2018-03-09 10:20:17 +080055 source ./venv-tox/bin/activate
56 pip install --upgrade pip
57 pip install --upgrade tox argparse
58 pip freeze
liboNetefb22292019-03-20 03:10:03 +080059 cd ${CURDIR}
Bin Sun7245fce2018-03-09 10:20:17 +080060 tox -e cover
61 deactivate
62 cd ..
63 rm -rf ./venv-tox ./.tox
64 done
65}
66
67
68case $MVN_PHASE in
69clean)
70 echo "==> clean phase script"
71 rm -rf ./venv-*
72 ;;
73test)
74 echo "==> test phase script"
75 run_tox_test
76 ;;
77*)
78 echo "==> unprocessed phase"
79 ;;
80esac
81