summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Naluzhnyy <A.Naluzhnyy@samsung.com>2019-07-01 10:52:48 +0200
committerArtem Naluzhnyy <A.Naluzhnyy@samsung.com>2019-07-01 10:52:48 +0200
commit59bc037f2f2dc24e36ae2b6a1fc846c701af44d0 (patch)
tree25915a8e12a95260978cc04d59e65faa4c50c85d
parent9a7f3a08ae00d9ba391f014773deab6d2bc1d002 (diff)
Add static code analysis support for JavaScript/Python/Ruby/PHP.
Two JJB project parameters have been introduced: * 'coverity-search-paths' - space separated list of paths that contain source code to analyse; * 'coverity-search-exclude-regexs' - space separated list of file name regexps to exclude from analysis. Example: project: name: 'sdc-coverity' jobs: - onap-gerrit-maven-coverity ... coverity-search-paths: 'catalog-ui/src/ openecomp-ui/src/ dox-sequence-diagram-ui/src' coverity-search-exclude-regexs: '/node_modules/' Issue-ID: CIMAN-260 Signed-off-by: Artem Naluzhnyy <A.Naluzhnyy@samsung.com> Change-Id: I8050a75a731c893ec2173f66d2e881fcc0877ed0
-rw-r--r--jjb/ci-management/ci-management-coverity.yaml6
-rw-r--r--shell/maven-coverity.sh22
2 files changed, 26 insertions, 2 deletions
diff --git a/jjb/ci-management/ci-management-coverity.yaml b/jjb/ci-management/ci-management-coverity.yaml
index ba37d5785..83bdffc30 100644
--- a/jjb/ci-management/ci-management-coverity.yaml
+++ b/jjb/ci-management/ci-management-coverity.yaml
@@ -38,18 +38,20 @@
coverity-project-name: ''
coverity-token: ''
coverity-user-email: ''
+ coverity-search-paths: ''
+ coverity-search-exclude-regexs: ''
stream: master
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
archive-artifacts: >
**/*.log
+ **/*-log.txt
**/hs_err_*.log
**/target/**/feature.xml
**/target/failsafe-reports/failsafe-summary.xml
**/target/surefire-reports/*-output.txt
**/cov-int/BUILD.metrics.xml
- **/cov-int/build-log.txt
**/cov-int/build-timings.txt
**/cov-int/java-security-da-whitelist.dat
@@ -93,6 +95,8 @@
COVERITY_PROJECT_NAME={coverity-project-name}
COVERITY_TOKEN={coverity-token}
COVERITY_USER_EMAIL={coverity-user-email}
+ SEARCH_PATHS={coverity-search-paths}
+ SEARCH_EXCLUDE_REGEXS={coverity-search-exclude-regexs}
- shell: !include-raw-escape:
- ../../global-jjb/shell/common-variables.sh
- ../../shell/maven-coverity.sh
diff --git a/shell/maven-coverity.sh b/shell/maven-coverity.sh
index 17601d441..22a42c2d5 100644
--- a/shell/maven-coverity.sh
+++ b/shell/maven-coverity.sh
@@ -20,6 +20,25 @@ PS4='+['$(readlink -f "$0")' ${FUNCNAME[0]%main}#$LINENO] '
echo '---> maven-coverity.sh'
#-----------------------------------------------------------------------------
+# Process parameters for JS/PHP/Ruby files analysis
+
+FS_CAPTURE_SEARCH_PARAMS=''
+if [ -n "${SEARCH_PATHS:=}" ]; then
+ for SEARCH_PATH in ${SEARCH_PATHS}; do
+ if [ -d "${SEARCH_PATH}" ]; then
+ FS_CAPTURE_SEARCH_PARAMS="${FS_CAPTURE_SEARCH_PARAMS} --fs-capture-search '${SEARCH_PATH}'"
+ else
+ echo "'${SEARCH_PATH}' from \$SEARCH_PATHS is not an existing directory." >&2
+ exit 1
+ fi
+ done
+fi
+
+for EXCLUDE_REGEX in ${SEARCH_EXCLUDE_REGEXS:=}; do
+ FS_CAPTURE_SEARCH_PARAMS="${FS_CAPTURE_SEARCH_PARAMS} --fs-capture-search-exclude-regex '${EXCLUDE_REGEX}'"
+done
+
+#-----------------------------------------------------------------------------
# Check if we are allowed to submit results to Coverity Scan service
# and have not exceeded our upload quota limits
# See also: https://scan.coverity.com/faq#frequency
@@ -96,8 +115,9 @@ rm 'coverity_tool.tgz'
export MAVEN_OPTS
-cov-build \
+eval cov-build \
--dir 'cov-int' \
+ ${FS_CAPTURE_SEARCH_PARAMS} \
"${MVN}" clean install \
--errors \
--global-settings "${GLOBAL_SETTINGS_FILE}" \