| #!/bin/bash -ex |
| # |
| # Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. |
| # |
| # This program and the accompanying materials are made available under the |
| # terms of the Eclipse Public License v. 2.0, which is available at |
| # http://www.eclipse.org/legal/epl-2.0. |
| # |
| # This Source Code may also be made available under the following Secondary |
| # Licenses when the conditions for such availability set forth in the |
| # Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| # version 2 with the GNU Classpath Exception, which is available at |
| # https://www.gnu.org/software/classpath/license.html. |
| # |
| # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| # |
| |
| findbugs_run(){ |
| CLASSPATH=${WORKSPACE}/findbugstotext; export CLASSPATH |
| cd ${WORKSPACE} |
| mvn -e -Pfindbugs clean install |
| mvn -e -Pfindbugs findbugs:findbugs |
| |
| } |
| |
| findbugs_low_priority_all_run(){ |
| cd ${WORKSPACE} |
| mvn -e -Pfindbugs clean install |
| mvn -e -B -Pfindbugs -Dfindbugs.threshold=Low findbugs:findbugs |
| } |
| |
| generate_findbugs_result(){ |
| rm -rf ${WORKSPACE}/results |
| mkdir -p ${WORKSPACE}/results/findbugs_results |
| |
| # check findbbugs |
| set +e |
| cd /net/gf-hudson/scratch/gf-hudson/export2/hudson/tools/findbugs-tool-latest; ./findbugscheck ${WORKSPACE} |
| if [ ${?} -ne 0 ] |
| then |
| echo "FAILED" > ${WORKSPACE}/results/findbugs_results/findbugscheck.log |
| else |
| echo "SUCCESS" > ${WORKSPACE}/results/findbugs_results/findbugscheck.log |
| fi |
| set -e |
| # archive the findbugs results |
| for i in `find ${WORKSPACE} -name findbugsXml.xml` |
| do |
| cp ${i} ${WORKSPACE}/results/findbugs_results/`echo $i | sed s@"${WORKSPACE}"@@g | sed s@"/"@"_"@g` |
| done |
| tar -cvf ${WORKSPACE}/${TEST_ID}-results.tar.gz ${WORKSPACE}/results |
| } |
| |
| generate_findbugs_low_priority_all_result(){ |
| rm -rf ${WORKSPACE}/results |
| mkdir -p ${WORKSPACE}/results/findbugs_low_priority_all_results |
| |
| # check findbbugs |
| set +e |
| cd /net/gf-hudson/scratch/gf-hudson/export2/hudson/tools/findbugs-tool-latest; ./fbcheck ${WORKSPACE} |
| if [ $? -ne 0 ] |
| then |
| echo "FAILED" > ${WORKSPACE}/results/findbugs_low_priority_all_results/findbugscheck.log |
| else |
| echo "SUCCESS" > ${WORKSPACE}/results/findbugs_low_priority_all_results/findbugscheck.log |
| fi |
| set -e |
| cp /net/gf-hudson/scratch/gf-hudson/export2/hudson/tools/findbugs-tool-latest/fbstatsdetails.log ${WORKSPACE}/results/findbugs_low_priority_all_results/fbstatsdetails.log | true |
| # archive the findbugs results |
| for i in `find ${WORKSPACE} -name findbugsXml.xml` |
| do |
| cp ${i} ${WORKSPACE}/results/findbugs_low_priority_all_results/`echo $i | sed s@"${WORKSPACE}"@@g | sed s@"/"@"_"@g` |
| done |
| tar -cvf ${WORKSPACE}/${TEST_ID}-results.tar.gz ${WORKSPACE}/results |
| } |
| |
| run_test_id(){ |
| source `dirname ${0}`/../common_test.sh |
| kill_process |
| case ${TEST_ID} in |
| findbugs_all) |
| findbugs_run |
| generate_findbugs_result;; |
| findbugs_low_priority_all) |
| findbugs_low_priority_all_run |
| generate_findbugs_low_priority_all_result;; |
| esac |
| } |
| |
| post_test_run(){ |
| if [[ ${?} -ne 0 ]]; then |
| if [[ ${TEST_ID} = "findbugs_all" ]]; then |
| generate_findbugs_result || true |
| fi |
| if [[ ${TEST_ID} = "findbugs_low_priority_all" ]]; then |
| generate_findbugs_low_priority_all_result || true |
| fi |
| fi |
| } |
| |
| list_test_ids(){ |
| echo findbugs_all |
| echo findbugs_low_priority_all |
| } |
| |
| OPT=${1} |
| TEST_ID=${2} |
| |
| case ${OPT} in |
| list_test_ids ) |
| list_test_ids;; |
| run_test_id ) |
| trap post_test_run EXIT |
| run_test_id ${TEST_ID} ;; |
| esac |