Use python rstcheck to validate syntax
[multicloud/framework.git] / sonar.sh
1 #!/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
17 set -e
18
19 echo "running script: [$0] for module [$1] at stage [$2]"
20
21 export SETTINGS_FILE=${SETTINGS_FILE:-$HOME/.m2/settings.xml}
22 MVN_PROJECT_MODULEID="$1"
23 MVN_PHASE="$2"
24
25
26 FQDN="${MVN_PROJECT_GROUPID}.${MVN_PROJECT_ARTIFACTID}"
27 if [ "$MVN_PROJECT_MODULEID" == "__" ]; then
28   MVN_PROJECT_MODULEID=""
29 fi
30
31 if [ -z "$WORKSPACE" ]; then
32     WORKSPACE=$(pwd)
33 fi
34
35 # mvn phase in life cycle
36 MVN_PHASE="$2"
37
38
39 echo "MVN_PROJECT_MODULEID is            [$MVN_PROJECT_MODULEID]"
40 echo "MVN_PHASE is                       [$MVN_PHASE]"
41 echo "MVN_PROJECT_GROUPID is             [$MVN_PROJECT_GROUPID]"
42 echo "MVN_PROJECT_ARTIFACTID is          [$MVN_PROJECT_ARTIFACTID]"
43 echo "MVN_PROJECT_VERSION is             [$MVN_PROJECT_VERSION]"
44
45 run_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
54     virtualenv ./venv-tox
55     source ./venv-tox/bin/activate
56     pip install --upgrade pip
57     pip install --upgrade tox argparse
58     pip freeze
59     cd multivimbroker
60     tox -e cover
61     tox -e rstcheck
62     deactivate
63     cd ..
64     rm -rf ./venv-tox ./.tox
65   done
66 }
67
68
69 case $MVN_PHASE in
70 clean)
71   echo "==> clean phase script"
72   rm -rf ./venv-*
73   ;;
74 test)
75   echo "==> test phase script"
76   run_tox_test
77   ;;
78 *)
79   echo "==> unprocessed phase"
80   ;;
81 esac
82