Script Linux

El componente Revisión de código proporciona un script de ejemplo para ejecutar la aplicación de revisión de código desde una línea de mandatos de Linux.

El bloque de código siguiente muestra el script Linux:

Figura 1. codereviewbatch.sh
#!/bin/sh
#############################################################################
#                                                                           #
# IBM Rational Developer for System z 5724-T07                              #
#                                                                           #
# Copyright IBM Corp. 2012 All rights reserved.                             #
# All rights reserved.  US Government Users Restricted Rights -             #
# Use, duplication or disclosure restricted by GSA ADP Schedule Contract    #
# with IBM Corp.                                                            #
#                                                                           #
#############################################################################

usage()
{
  echo
  echo "codereviewbatch -workspace ws_location -rulefile rule_file" 
  echo "    -exportdir exp_location [-directory dirs] [-projects projs]"
  echo "    [-includefile in_file] [-excludefile ex_file] [-outputfile out_file]"
  echo
  echo "  ws_location   The workspace location"
  echo "  rule_file     The file containing exported rules to be executed"
  echo "  exp_location  The directory where data files are written"
  echo "  dirs          Comma-separated directories containing source"
  echo "  projs         Comma-separated workspace projects containing source"
  echo "  in_file       File containing list of files to include in analysis"
  echo "  ex_file       File containing list of files to exclude from analysis"
  echo "  out_file      Target file for command output"
  echo
  echo Use -debug to print command output to the console.
  echo   
  echo "The correct usage of this tool is described in the on-line documentation"
  echo "for Rational Developer for System z."
  retorno
}

rdz_install_dir=@RDZINSTALLDIR@

# supply defaults if desired
workspace=
rulefile=
exportdir=
directory=
projects=
includefile=
excludefile=
outputfile=
debug=

# process parameters
while [ $# -gt 0 ]
do
  case "$1" in
    -workspace ) workspace=$2; shift 2;;
    -rulefile ) rulefile=$2; shift 2;;
    -exportdir ) exportdir=$2; shift 2;;
    -directory ) directory=$2; shift 2;;
    -projects ) projects=$2; shift 2;;
    -includefile ) includefile=$2; shift 2;;
    -excludefile ) excludefile=$2; shift 2;;
    -outputfile ) outputfile=$2; shift 2;;
    -debug ) debug="true"; shift 1;;
    # unknown parameter
    * ) echo "Ignoring parameter: $1"; shift 1;;
  esac
done
  
# workspace, rulefile, exportdir are mandatory
if [ "$workspace" == "" ]
then 
  echo "-workspace parameter is mandatory"; usage
elif [ "$rulefile" == "" ] 
then
  echo "-rulefile parameter is mandatory"; usage
elif [ "$exportdir" == "" ] 
then
  echo "-exportdir parameter is mandatory"; usage
else
  # construct parameters and command
  ap_parm="-application com.ibm.rsaz.analysis.commandline.AnalyzeApplication"
  ws_parm="-data $workspace"
  rf_parm="-rulefile $rulefile"
  exp_parm="-exportdirectory $exportdir"
  dir_parm=
  if [ "$directory" != "" ]
  then
    dir_parm="-directory $directory"
  fi
  proj_parm=
  if [ "$projects" != "" ]
  then
    proj_parm="-projects $projects"
  fi
  in_parm=
  if [ "$includefile" != "" ]
  then
    in_parm="-includefile $includefile"
  fi
  ex_parm=
  if [ "$excludefile" != "" ]
  then
    ex_parm="-excludefile $excludefile"
  fi
  command="""$rdz_install_dir/eclipse"" $ap_parm $ws_parm $rf_parm $dir_parm $proj_parm $in_parm $ex_parm $exp_parm -verbose -nosplash"

  # run command
  echo "Running software analysis..."
  echo $command
  if [ "$outputfile" != "" ]
  then
    $command > $outputfile
    if [ "$debug" == "true" ]
    then
      cat $outputfile
    fi
  else
    $command
  fi
fi

Comentarios