blob: 73975421173bec52adbde32e31744aea85b22587 [file] [log] [blame]
Artem Naluzhnyy6ba95782019-06-10 16:39:54 +02001#!/bin/bash
2
3# Copyright 2019 Samsung Electronics Co., Ltd.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17set -Eeuxo pipefail
18PS4='+['$(readlink -f "$0")' ${FUNCNAME[0]%main}#$LINENO] '
19
20echo '---> maven-coverity.sh'
21
22#-----------------------------------------------------------------------------
23# Get Coverity Scan build tool
24
25curl \
26 --verbose \
27 --silent \
28 --show-error \
29 --fail \
30 --form "project=${COVERITY_PROJECT_NAME}" \
31 --form "token=${COVERITY_TOKEN}" \
32 --output 'coverity_tool.tgz' \
33 'https://scan.coverity.com/download/linux64'
34
35tar \
36 --extract \
37 --gunzip \
38 --file='coverity_tool.tgz'
39
40COVERITY_BUILD_TOOL_DIRECTORY=$(
41 head -1 <( \
42 tar \
43 --list \
44 --gunzip \
45 --file='coverity_tool.tgz'
46 )
47)
48COVERITY_BINARY_DIRECTORY="${COVERITY_BUILD_TOOL_DIRECTORY}bin"
49test -d "${COVERITY_BINARY_DIRECTORY}" \
50 || exit 1
51export PATH="${PATH}:${COVERITY_BINARY_DIRECTORY}"
52
53rm 'coverity_tool.tgz'
54
55#-----------------------------------------------------------------------------
56# Build
57
58export MAVEN_OPTS
59
60cov-build \
61 --dir 'cov-int' \
62 "${MVN}" clean install \
63 --errors \
64 --global-settings "${GLOBAL_SETTINGS_FILE}" \
65 --settings "${SETTINGS_FILE}" \
66 ${MAVEN_OPTIONS:=} \
67 ${MAVEN_PARAMS:=}
68
69cov-import-scm \
70 --dir 'cov-int' \
71 --scm 'git'
72
73#-----------------------------------------------------------------------------
74# Submit results to Coverity service
75
76tar \
77 --create \
78 --gzip \
79 --file='results.tgz' \
80 'cov-int'
81
82curl \
83 --verbose \
84 --silent \
85 --show-error \
86 --fail \
87 --form "project=${COVERITY_PROJECT_NAME}" \
88 --form "email=${COVERITY_USER_EMAIL}" \
89 --form "token=${COVERITY_TOKEN}" \
90 --form 'file=@results.tgz' \
91 --form "version=${GIT_COMMIT:0:7}" \
92 --form "description=${GIT_BRANCH}" \
93 'https://scan.coverity.com/builds'
94
95#-----------------------------------------------------------------------------
96
97exit 0