| #!/bin/bash |
| ############################################################################### |
| # Copyright (c) 2015, 2019 Ericsson, EfficiOS Inc. and others |
| # |
| # |
| # This program and the accompanying materials |
| # are made available under the terms of the Eclipse Public License 2.0 |
| # which accompanies this distribution, and is available at |
| # https://www.eclipse.org/legal/epl-2.0/ |
| # |
| # SPDX-License-Identifier: EPL-2.0 |
| # |
| # Contributors: |
| # Marc-André Laperle - Initial version |
| # Alexandre Montplaisir - Initial version |
| # Marc-André Laperle - Copied to CDT |
| ############################################################################### |
| |
| set -u # run with unset flag error so that missing parameters cause build failure |
| set -e # error out on any failed commands |
| set -x # echo all commands used for debugging purposes |
| |
| # Point ourselves to the script's directory (so it can be run "out-of-tree") |
| DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) |
| output="$(mktemp /tmp/check_mvn_plugin_versions.output.XXXXXX)" |
| ${MVN:-mvn} versions:display-plugin-updates -P build-standalone-debugger-rcp -U -B -f $DIR/../../pom.xml | tee $output |
| |
| #filter only updates and show unique |
| # XXX: Jonah added the exclusion for sonar-maven-plugin as Eclipse's SonarQube installation is not new enough |
| # XXX: see https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven#AnalyzingwithSonarQubeScannerforMaven-Compatibility |
| summary=`cat $output | grep "\\->" | grep -v "org.codehaus.mojo:sonar-maven-plugin" | sort | uniq` |
| echo -e "Summary:\n${summary}" |
| |
| #remove empty lines and count lines |
| outdatedNb=`echo "${summary}" | sed '/^\s*$/d' | wc -l` |
| echo Number of outdated plugins: "${outdatedNb}" |
| exit ${outdatedNb} |