Fix: Add missing sctp.h header file to sonarqube cmake/build
[releng/global-jjb.git] / shell / cmake-sonarqube.sh
index 0dd2cf5..da433b2 100644 (file)
@@ -15,6 +15,20 @@ echo "---> cmake-sonarqube.sh"
 
 set -eux -o pipefail
 
+# Add missing sctp.h header file to prevent cmake/build failure
+if (grep Ubuntu /etc/os-release > /dev/null 2>&1); then
+    echo "Installing libsctp-dev dependency for Ubuntu"
+    sudo apt-get update
+    sudo apt-get install -y libsctp-dev
+elif (grep RedHat /etc/os-release > /dev/null 2>&1) || \
+     (grep CentOS /etc/os-release > /dev/null 2>&1); then
+    echo "Installing lksctp-tools-devel dependency for CentOS/RedHat"
+    sudo yum install -y lksctp-tools-devel
+else
+    echo "Unmatched OS/Distribution"
+    echo "Missing sctp library not installed"
+fi
+
 build_dir="${BUILD_DIR:-$WORKSPACE/build}"
 build_wrap_dir="${BUILD_WRAP_DIR:-$WORKSPACE/bw-output}"
 cmake_opts="${CMAKE_OPTS:-}"
@@ -25,6 +39,15 @@ wget -q -O bw.zip https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip
 unzip -q bw.zip
 sudo mv build-wrapper-* /opt/build-wrapper
 
+
+export SET_JDK_VERSION="${SET_JDK_VERSION:-openjdk11}"
+echo "$SET_JDK_VERSION"
+GITHUB_RAW_BASE_URL="https://raw.githubusercontent.com"
+GITHUB_FILE="lfit/releng-global-jjb/master/shell/update-java-alternatives.sh"
+bash <(curl -s "${GITHUB_RAW_BASE_URL}/${GITHUB_FILE}")
+# shellcheck disable=SC1091
+source /tmp/java.env
+
 mkdir -p "$build_dir"
 cd "$build_dir" || exit 1
 
@@ -34,6 +57,7 @@ eval cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_PREFIX" $cmake_opts ..
 
 # $make_opts may be empty.
 # shellcheck disable=SC2086
-/opt/build-wrapper/build-wrapper-linux-x86-64 --out-dir "$build_wrap_dir" make $make_opts
+/opt/build-wrapper/build-wrapper-linux-x86-64 --out-dir "$build_wrap_dir" \
+    make $make_opts
 
 echo "---> cmake-sonarqube.sh ends"