|  | #!/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 |